【求助】Excel: Mark/UnMark 儲存格

顯示結果從第 1 筆 到 5 筆,共計 5 筆
  1. #1
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448

    【求助】Excel: Mark/UnMark 儲存格 **已解**

    最近在 Excel 寫了個巨集, 就是按下 Ctrl-M 後, 整列儲存格會變成黃色, 然後再按一次就會變成無色 (xlNone). 這樣我就隨時可以知道自己正在哪一列輸入資料, 不會打錯格.
    不過這有個問題, 就是整個 worksheet 的儲存格都必須是無色, 否則 Ctrl-M 按兩次, 本來是什麼顏色的也會被變成無色...

    想請教的是, 在不知道資料範圍究竟多廣 (含資料的的最後一行在哪) 的情況下, 如何在整列標示為黃色後再按一次 Ctrl-M 就會恢復為原來的顏色? 雖然我是可以利用 array 儲存原來的顏色值再用 For loop 去搞定, 不過不知道要查到哪一行才算最後一行. 有辦法嗎?

    原碼如下:
    語法:
    Sub Mark()
        On Error Resume Next
        Dim r As Long, c As Long
        With ActiveCell
            r = .Row
            c = .Column
        End With
        ActiveCell.EntireColumn.Select
        With Selection
            .Interior.ColorIndex = IIf(.Interior.ColorIndex <> xlNone, xlNone, 36)
        End With
        Cells(r, c).Select
    End Sub



  2. #2
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    一定要 Ctrl-M 嗎?
    讓它 auto-highlight 是不是較方便.

    這個用"格式化條件"來做比較方便, 但如果
    原來自己就有設格式化條件, 那就要再想辦法..

    語法:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       On Error Resume Next
       [jute].FormatConditions.Delete
       Target.EntireRow.Name = "jute"
       With [jute].FormatConditions    '條件格式化
           .Delete
           .Add xlExpression, , "TRUE" '第條件(一)內公式為
           .Item(1).Interior.ColorIndex = 36 '等於FormatConditions(1)
       End With
    End Sub
    這個 Worksheet Event 要放在工作表模組裡.

    See also :
    http://www.excelhelp.net/cgi-bin/for...m=8&topic=2245
    http://www.pczone.com.tw/showthread.php?t=117218
    <span style="filter:glow(color=3CB371,strength=4);width:100%;color:#3CB371;font-family:Comic Sans MS;font-size:18;font-weight:bold">No desire, No pain.</span><p><span style="filter:glow(color=FF4500,strength=3);width:100%;color:#FF8C00;font-family:Comic Sans MS;font-size:18;font-weight:bold">Before Asking, You should RTFH, RTFM, STFW...</span>

  3. #3
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    再次感謝 Leon 兄, 明天回公司我會試試看...
    (雖然還不知道條件格式化是什麼, 但我想 online help 應該會有 )

    我會用 Ctrl-M 是因為公司裡不是所有 worksheet 都會用到這功能, 是我突發奇想自己發明的, 雖然大部份使用者都說有此功能很方便, 但顏色復原方面就...

    對了另外還有個問題:
    在 Excel 裡若要設定巨集的快速鍵, 一般只能用 Ctrl-(Shift)-英文字母
    有沒有什麼辦法可以設定為其它的 (例: Ctrl-Alt-F12 或 Shift-Alt-9)?

  4. #4
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    Worksheet Event 基本上只適用所屬的工作表,
    也可改寫為適用該活頁簿的全部或指定工作表,
    因此不用擔心作用對象的問題。

    以標準功能而言,設定巨集的快速鍵只有 Ctrl-字母 和 Ctrl-Shit-字母 兩種.
    不過也可以自行寫程式,利用 Application.Onkey 方法來指定想要的快速鍵。
    但 Onkey 要小心使用,以免影響原有快速鍵或造成其他不可預期的問題。

  5. #5
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    謝謝 Leon 兄, 事情已圓滿解決。
    現在我把它寫成了兩個版本, 一個放在 Workbook OnSheetSelectionChange, 另一個放在 module 裡還是用原來的 Ctrl-M (可以只在想要用的時候用)
    (原來我又把問題想得太複雜了! )



類似的主題

  1. 【問題】EXCEL儲存格的問題
    作者:pmpmppm 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 1
    最後發表: 2006-05-15, 05:39 PM
  2. 【求助】Excel儲存格格式控制的問題
    作者:shung0116 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 1
    最後發表: 2006-01-24, 02:36 PM
  3. 【求助】excel儲存格格式控制的問題
    作者:shung0116 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 2
    最後發表: 2005-11-27, 07:32 PM
  4. 【閒聊】Excel 唸出"儲存格"內容???
    作者:larry0116 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 2
    最後發表: 2004-04-28, 11:33 AM
  5. 【求助】EXCEL 怎樣自動抓取儲存格位置?
    作者:deepblue 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 9
    最後發表: 2004-02-10, 05:17 PM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •