簡體   English   中英

Excel VBA-基於活動單元格運行宏

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM