[英]Excel VBA - Run macro based upon Active Cell
我正在創建一個Excel宏,它將根據多個條件過濾源工作表。 基本上,宏會說如果您在福特表中,請轉到源表並在福特上進行過濾。 這部分很容易。 我正在努力的是告訴它根據活動單元過濾源工作表。 所以...
如果ActiveCell是A1,則轉到源並執行X個條件的過濾器,否則,如果ActiveCell是B1,則轉到源並執行此其他過濾器,依此類推。
這是我到目前為止的內容:
If ActiveCell = Range("C36") Then
Sheets("Source-Cars").Select
'Unfilter data
Application.Goto (Sheets("Source-Cars").Range("A1"))
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
end if
end if
這里的問題是ActiveCell = Range(“ C36”)正在查看該單元格的值,而不是我是否已選擇該單元格。 因此,如果我選擇另一個與C36值相同的單元格,它將執行過濾器,而不是返回我內置的錯誤消息框。
關於如何根據哪個單元處於活動狀態(相對於所述單元的值)運行邏輯的思考? 謝謝!
G
您想使用ActiveCell.Address它會告訴您一個類似於$ A $ 1的值,然后您可以在比較中使用它。
嘗試使用以下示例代碼來查看返回值的格式:
Sub selectRange() MsgBox ActiveCell.Address End Sub
對於您的情況,您想要類似
If ActiveCell.Address = "$C$36" Then
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.