【求助】EXCEL 怎樣自動抓取儲存格位置?

顯示結果從第 1 筆 到 10 筆,共計 10 筆
  1. #1
    儲存記憶的混合體 deepblue 的大頭照
    註冊日期
    2001-08-08
    所在地區
    ADSL 2/256
    討論區文章
    650

    【求助】EXCEL 怎樣自動抓取儲存格位置?

    想要請教一下
    如果我想要使用自動抓取儲存格位置的功能
    需要使用哪一個屬性?
    address?addresslocal?
    抓出來的$A$1要怎樣使用?
    還有可以不可以舉出如何使用的範例?
    多謝指導!




  2. #2
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    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

    傳回值是一個儲存格位置的字串.
    要用在何處, 範圍太廣很難敍述..
    不如說說你想做什麼.

  3. #3
    儲存記憶的混合體 deepblue 的大頭照
    註冊日期
    2001-08-08
    所在地區
    ADSL 2/256
    討論區文章
    650
    比如說
    我現在選取C5這一個儲存格
    想要設計一個指令可以自動變更A5這一個儲存格的內容(顏色等等!)
    不知道要怎樣設計?

    然後假如我選取M6 的話A6 的儲存格也會跟著變化

    假如要這樣的話
    應該是要用到cell吧?
    如此一來應該是要知道列的數字吧?
    欄位的話就可以設定為 1 了
    cells(rows,1)
    不知道要怎樣取得rows的數字?

  4. #4
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    需以 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 模組之中.

  5. #5
    儲存記憶的混合體 deepblue 的大頭照
    註冊日期
    2001-08-08
    所在地區
    ADSL 2/256
    討論區文章
    650
    多謝您了
    我試試看
    如果有問題再請教您



  6. #6
    儲存記憶的混合體 deepblue 的大頭照
    註冊日期
    2001-08-08
    所在地區
    ADSL 2/256
    討論區文章
    650
    再想要請教一下
    假如我想要做一個可以自動變更顏色的巨集要怎樣設定

    比如果
    我現在選取D3
    A3會變為紅色
    但是如果我離開了D3的話
    A3會變回原本的顏色?

  7. #7
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    由於無法得知前次選哪一格,這可分兩種情形:
    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 來略過此錯誤。

    大家若有其他不同的方法,歡迎提出來討論。

  8. #8
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    有個 "儲存格模擬checkbox" 的例子,
    有異曲同工之妙,有興趣可參考。
    http://qa1.pcuser.com.tw/total_view....rNumber=339576

  9. #9
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    這裡有其他方式可以參考:
    http://www.excelhelp.net/cgi-bin/for...m=8&topic=2245
    "格式化條件"方式的想法很好,程式也很精簡。
    但不知是什麼原因,執行起來會稍有延遲的感覺...

    anyway, 提供參考。

  10. #10
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    嗯...小弟剛好也有個類似的問題...
    不過我另外開個討論串好了



類似的主題

  1. 【問題】EXCEL 自動抓取符合條件的並加總
    作者:lilinerv 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 4
    最後發表: 2008-08-20, 08:44 AM
  2. 【求助】Excel儲存格格式控制的問題
    作者:shung0116 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 1
    最後發表: 2006-01-24, 02:36 PM
  3. 【求助】Excel: Mark/UnMark 儲存格
    作者:jute 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 4
    最後發表: 2004-02-11, 11:48 AM
  4. 請問excel有像word一樣自動儲存的功能嗎?(office 2000)
    作者:harry112 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 2
    最後發表: 2003-09-24, 02:33 PM
  5. 雞婆的Excel自動 儲存格格式...要如何解?!
    作者:wowhsieh 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 5
    最後發表: 2003-06-29, 03:53 PM

 

excel抓取字串

excel 自動抓取所在儲存格位址

發表文章規則

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