2012-05-10 64 views
4

我是VBA的新手,我在Google上搜索和搜索,但找不到處理我的問題的示例。Combobox與選擇項目的宏

我得到了一個我想放在可選擇的下拉列表中的名字列表。當我點擊他們的名字時,我想運行一個我用他們的名字製作的不同宏。 昨天我嘗試了很多東西,但每次它只讓我分配1個宏,這個宏被稱爲無論我按下哪個名稱。

我認爲解決方案非常簡單,但我真的不知道如何以最簡單的方式做到這一點。所以希望你們中的任何一個人都有一個簡單教程的鏈接,或者可以逐步向我解釋。

在此先感謝

編輯: 我得到了2名。 Birgitte = A:1 托馬斯= A:2

我有一個形式comboxbox其中兩個名字都在 當我按下Birgitte我希望有一個叫做BS_Opgave(宏)來運行,當我PRES托馬斯·我想宏TR_Opgave運行。

我的問題是我不知道如何在VBA編輯器中將combox選擇連接到宏。我對編輯器中關於comboxing的所有內容感到十分困惑。

+0

它是什麼樣的下拉列表?數據驗證列表?用戶表單上的組合框?工作表中的組合框? –

+0

工作表上的組合框。爲了生氣,我不知道最好的解決方案是什麼。 與將宏簽入按鈕相比,這看起來對我來說非常混亂。 – Kano

+0

好吧,我的下一個問題是...該組合框是ActiveX控件還是Form Control? –

回答

7

將此代碼粘貼到模塊中。在Combobox上單擊右鍵並將宏指定爲DropDown1_Change :)然後您就完成了。

Option Explicit 

Sub DropDown1_Change() 
    With ThisWorkbook.Sheets("Sheet1").Shapes("Drop Down 1").ControlFormat 
     Select Case .List(.Value) 
      Case "Birgitte": BS_Opgave 
      Case "Thomas": TR_Opgave 
     End Select 
    End With 
End Sub 

Sub BS_Opgave() 
    MsgBox "You selected Birgitte" 
End Sub 

Sub TR_Opgave() 
    MsgBox "You selected Thomas" 
End Sub 

的假設

我假設該組合框的下面

  • 名稱爲 「下拉1」
  • 組合框是 「工作表Sheet1」
+0

非常感謝。現在它就像一個魅力:) 這是迄今爲止我見過的最簡單的解決方案! – Kano

相關問題