4

我对 VBA 很陌生,我在 Google 上进行了搜索和搜索,但找不到处理我的问题的示例。

我得到了一个名字列表,我想把它放在一个可选择的下拉列表中。当我点击他们的名字时,我想运行一个我用他们的名字制作的不同的宏。我昨天尝试了很多东西,但每次它只成功地分配了 1 个宏,无论我按哪个名称都会调用它。

我认为解决方案非常简单,但我真的不知道如何以最简单的方式做到这一点。所以希望你们中的任何人都能获得一个简单教程的链接,或者可以分步向我解释。

提前致谢

编辑:我有 2 个名字。Birgitte = A:1 托马斯 = A:2

我有一个表单组合框,其中两个名称都在其中。当我按下 Birgitte 时,我希望运行一个名为 BS_Opgave() 的宏,而当我按下 Thomas 时,我希望运行宏 TR_Opgave。

我的问题是我不确定如何将组合框选择连接到 VBA 编辑器中的宏。我对编辑器中有关组合的所有内容感到非常困惑。

4

1 回答 1

7

将此代码粘贴到模块中。右键单击组合框并将宏分配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

假设

我假设以下

  • 组合框的名称是“Drop Down 1”
  • 组合框在“Sheet1”中
于 2012-05-10T08:26:28.277 回答