你能从下拉列表中select一个值时调用macros吗?

我有一个Excel下拉列表(AH,AR,CH等)的电子表格。 取决于在下拉列表中select的值,表格中的值会变化,这是一系列的vlookup。 其中一些返回空白行,我有一个macros,如果他们是空白的隐藏行。

有没有一种方法,我可以assisgnmacros到下拉,这样的macros被称为点击。

您需要访问特定的工作表模块,您可以通过右键单击工作表名称并select查看代码来访问该工作表模块。 此时,您需要使用下面的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 

您可以将macros分配给Worksheet.Change事件并添加一个基于该值运行特定macros的条件。

例如:

 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