deepblue
2004-02-06, 09:05 PM
想要請教一下
如果我想要使用自動抓取儲存格位置的功能
需要使用哪一個屬性?
address?addresslocal?
抓出來的$A$1要怎樣使用?
還有可以不可以舉出如何使用的範例?
多謝指導!
贊助商連結
如果我想要使用自動抓取儲存格位置的功能
需要使用哪一個屬性?
address?addresslocal?
抓出來的$A$1要怎樣使用?
還有可以不可以舉出如何使用的範例?
多謝指導!
贊助商連結
贊助商連結 deepblue 2004-02-06, 09:05 PM 想要請教一下 如果我想要使用自動抓取儲存格位置的功能 需要使用哪一個屬性? address?addresslocal? 抓出來的$A$1要怎樣使用? 還有可以不可以舉出如何使用的範例? 多謝指導! 贊助商連結 leonchou 2004-02-06, 10:51 PM Cells(1, 1).Address ==> "$A$1" Cells(1, 1).Address(0, 0) ==> "A1" 選取A1:C5, Selection.Address(0, 0) ==> "A1:C5" Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "A1" Then Exit Sub ...... End Sub 傳回值是一個儲存格位置的字串. 要用在何處, 範圍太廣很難敍述.. 不如說說你想做什麼. :) deepblue 2004-02-07, 12:09 AM 比如說 我現在選取C5這一個儲存格 想要設計一個指令可以自動變更A5這一個儲存格的內容(顏色等等!) 不知道要怎樣設計? 然後假如我選取M6 的話A6 的儲存格也會跟著變化 假如要這樣的話 應該是要用到cell吧? 如此一來應該是要知道列的數字吧? 欄位的話就可以設定為 1 了 cells(rows,1) 不知道要怎樣取得rows的數字? leonchou 2004-02-07, 03:13 AM 需以 Event 實現此功能.. 如果只能選一格, 可這樣寫 -- Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Cells(Target.Row, 1).Font.Color = vbRed End Sub 如果允許選多格, 可這樣寫 -- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target.EntireRow.Columns(1).Font.Color = vbRed End Sub 這是工作表事件, 要放在 sheet 模組之中. deepblue 2004-02-07, 07:28 AM 多謝您了 我試試看 如果有問題再請教您:D deepblue 2004-02-07, 06:36 PM 再想要請教一下 假如我想要做一個可以自動變更顏色的巨集要怎樣設定 比如果 我現在選取D3 A3會變為紅色 但是如果我離開了D3的話 A3會變回原本的顏色? leonchou 2004-02-07, 10:36 PM 由於無法得知前次選哪一格,這可分兩種情形: 1. A欄其他格都設為預設顏色 (黑色),這個好辦。 2. A欄其他格原本不一定是黑色字。欲保留原來顏色就需要一點技巧。 以下範例是在只能選一格的前提下 -- 第 1 種情形: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Me.UsedRange.Columns(1).Font.Color = vbBlack Cells(Target.Row, 1).Font.Color = vbRed End Sub 第 2 種情形: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static pre_addr, pre_color If Target.Count > 1 Then Exit Sub On Error Resume Next Range(pre_addr).Font.Color = pre_color With Cells(Target.Row, 1) pre_addr = .Address pre_color = .Font.Color .Font.Color = vbRed End With End Sub 解釋: 用 Static 宣告變數可使其值保留在記憶體中而不消失。 Static 只限於程序層次 (如 Sub) 中使用。 在此例中用 pre_addr 及 pre_color 保留前次 A 欄的位址及顏色。 但第1次使用時因 pre_addr 及 pre_color 沒有值會發生錯誤, 所以利用 On Error 來略過此錯誤。 大家若有其他不同的方法,歡迎提出來討論。 :) leonchou 2004-02-07, 10:44 PM 有個 "儲存格模擬checkbox" 的例子, 有異曲同工之妙,有興趣可參考。 http://qa1.pcuser.com.tw/total_view.asp?CurNumber=339576 leonchou 2004-02-08, 04:14 PM 這裡有其他方式可以參考: http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=8&topic=2245 "格式化條件"方式的想法很好,程式也很精簡。 但不知是什麼原因,執行起來會稍有延遲的感覺... anyway, 提供參考。 jute 2004-02-10, 05:17 PM 嗯...小弟剛好也有個類似的問題... 不過我另外開個討論串好了:D |
|