我有一个带有下拉列表的excel电子表格(AH,AR,CH等)。取决于在下拉列表中选择的值,工作表更改的值是一系列vlookup。 其中一些返回空白行,我有一个宏,如果它们是空白的话会隐藏行。
有没有办法让我可以将宏调整到下拉列表,以便在点击时调用宏。
答案 0 :(得分:1)
您需要访问该特定工作表模块,您可以通过右键单击工作表名称并选择查看代码来执行此操作。此时,您需要使用下面的Worksheet_Change
子代码,这将在更改单元格A1
的值时运行代码
Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
Select Case Target.Value
Case "DropdownValue1"
'do something
Case "DropdownValue2"
'do something else
End Select
End If
End Sub
答案 1 :(得分:0)
您可以将宏指定给Worksheet.Change事件,并根据值添加运行特定宏的条件。
例如:
Private Sub Worksheet_Change(ByVal Target as Range)
If Not Intersect(Target, Thisworkbook.Sheets("WorksheetName").Range("AH")) Is Nothing
If Target.Value = "DropdownValue1" Then
Macro1
Elseif Target.Value = "DropdownValue2" Then
Macro2
Elseif Target.Value = "DropdownValue3" Then
Macro3
End if
End if
End Sub
答案 2 :(得分:0)
尝试修改以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E1")) Is Nothing Then
Select Case Range("E1")
Case "Insert Blank rows": Macro1
Case "Hide All Sheets": Macro2
Case "Convert to Date": Macro3
End Select
End If
End Sub
参考:https://www.extendoffice.com/documents/excel/4421-excel-run-macro-from-drop-down-list.html