提示:其他語言是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 · 11 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?