提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
注册账户
x

or

如何根据从Excel下拉列表中选择的值运行宏?

通过单击命令按钮运行宏是Excel中的常见任务,但是,您是否尝试过基于从下拉列表中选择的值来执行宏代码? 这意味着,当您从下拉列表中选择一个项目时,特定的宏将被立即触发。 本文将为您介绍一个有用的代码来解决这个工作。

使用VBA代码根据从下拉列表中选择的值运行宏


箭头蓝色右泡 使用VBA代码根据从下拉列表中选择的值运行宏


没有直接的方法来完成这个任务,但是,下面的VBA代码可以帮助你,请按照下面的方式做:

1。 首先,根据需要创建一个下拉列表,参见截图:

doc从下拉菜单中运行宏1

2。 然后右键单击包含要使用的下拉列表的工作表选项卡,然后选择 查看代码 从上下文菜单中,并在打开 Microsoft Visual Basic的应用程序 窗口中,将以下代码复制并粘贴到空白模块中:

VBA代码:根据从下拉列表中选择的值运行宏:

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

doc从下拉菜单中运行宏2

注意:在上面的代码中, E1 是单元格包含下拉列表,更改宏名称并将列表值下拉到需要的位置。

3。 然后保存并关闭此代码窗口,现在,当您从下拉列表中选择插入空行项目时,Macro1将被触发,等等......


相关文章:

如何在Excel中的单元格值更改时运行宏?

如何在Excel中基于单元格值运行宏?

如何在Excel中打印之前自动运行宏?

如何通过单击Excel中的超链接来运行宏?

如何从工作簿中选择工作表时运行宏?



推荐的Excel生产力工具

Kutools for Excel帮助您提前完成工作,并从人群中脱颖而出

  • 超过300强大的高级功能,专为1500工作场景设计,通过70%提高生产力,让您有更多时间照顾家庭和享受生活。
  • 不再需要记忆公式和VBA代码,从现在起让你的大脑休息一下。
  • 成为3分钟的Excel专家,复杂和重复的操作可以在几秒钟内完成,
  • 每天减少成千上万的键盘和鼠标操作,现在告别职业病。
  • 110,000高效人才和300 +世界知名公司的选择。
  • 60-day full功能免费试用。 60天退款保证。 2多年的免费升级和支持。

将选项卡式浏览和编辑带到Microsoft Office,远比浏览器的选项卡强大

  • Office选项卡专为Word,Excel,PowerPoint和其他Office应用程序设计:Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ivan · 7 months ago
    Good morning. Would you be able to do Macro from drop down menu for next: To run macro and save separated sheets for each item from Dropdown menu? In your case should be looking like this:
    1. You run macro and then you have separated sheet with values for "Insert blank rows" saved in designated folder
    2. Separated sheet with values for " Hide all sheets:" saved in designated folder
    3. Separated sheet with values for " Convert to date" saved in designated folder.
    4. Macro is done now


    Mainly i am able do set all of this except that macro automatically change selection from drop down menu ?


    Thanks


    Ivan
  • To post as a guest, your comment is unpublished.
    nuria · 10 months ago
    Hola!

    Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
  • To post as a guest, your comment is unpublished.
    fi · 1 years ago
    Is there a way to use VBA code to do this in Access? Thanks
  • To post as a guest, your comment is unpublished.
    Diego · 1 years ago
    efectivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?