我在表單上構建了一個名爲report的數據驗證列表,每次從列表中選擇一個項目時,我需要運行一個宏。現在我有下面的代碼,但它不起作用。它在VBA運行,但是當我選擇在我的工作表中的項目也不會跑,好像我當你已經改變了沒有提及宏在數據驗證選擇後運行事件宏
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(True, True) = "$B$3" Then
Select Case Target
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case Else
'Do Nothing
End Select
End If
End Sub
的'Worksheet_SelectionChange(BYVAL目標作爲範圍)'子被稱爲每次你在工作表中選擇一個範圍。您選擇的範圍將作爲子目錄中的「Target」參數傳遞。如果您選擇了「$ B $ 3」單元格,則只會在'If'語句內執行您的代碼。 –
如果我使用Worksheet_Change,該怎麼辦? –
每次更改單元格值時都會調用Worksheet.Change https://msdn.microsoft.com/en-us/library/office/ff839775.aspx –