【求助】EXCEL 怎樣自動抓取儲存格位置? - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- OFFICE 相 關 軟 體 討 論 版


PCZONE 討論區



通知

-- OFFICE 相 關 軟 體 討 論 版 Word、Excel、PowerPoint、Access、Outlook、FrontPage或Office XP等的問題解答與經驗分享

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



回覆
Take it easy~

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

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

比如說
我現在選取C5這一個儲存格
想要設計一個指令可以自動變更A5這一個儲存格的內容(顏色等等!)
不知道要怎樣設計?

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

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

需以 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 模組之中.
回覆
儲存記憶的混合體

多謝您了
我試試看
如果有問題再請教您
回覆
儲存記憶的混合體

再想要請教一下
假如我想要做一個可以自動變更顏色的巨集要怎樣設定

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

由於無法得知前次選哪一格,這可分兩種情形:
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 來略過此錯誤。

大家若有其他不同的方法,歡迎提出來討論。
回覆
Take it easy~

有個 "儲存格模擬checkbox" 的例子,
有異曲同工之妙,有興趣可參考。
http://qa1.pcuser.com.tw/total_view....rNumber=339576

回覆
Take it easy~

這裡有其他方式可以參考:
http://www.excelhelp.net/cgi-bin/for...m=8&topic=2245
"格式化條件"方式的想法很好,程式也很精簡。
但不知是什麼原因,執行起來會稍有延遲的感覺...

anyway, 提供參考。
回覆
圈外人

嗯...小弟剛好也有個類似的問題...
不過我另外開個討論串好了

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
【求助】Excel 中如何列出每位教師授課細目? Mohican -- OFFICE 相 關 軟 體 討 論 版 16 2005-08-26 10:22 PM
【求助】Excel 不同工作表之間的資料整合 ja0206 -- OFFICE 相 關 軟 體 討 論 版 4 2005-05-06 09:12 AM
【求助】Excel 要如何自動加減 camel -- OFFICE 相 關 軟 體 討 論 版 13 2005-01-09 03:47 PM
【求助】EXCEL lung6660 -- OFFICE 相 關 軟 體 討 論 版 2 2002-05-05 08:57 PM
【求助】EXCEL 亂數 Peter H. -- OFFICE 相 關 軟 體 討 論 版 3 2002-03-05 12:41 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。