Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 选择项目时带有宏的组合框_Excel_Drop Down Menu_Vba - Fatal编程技术网

Excel 选择项目时带有宏的组合框

Excel 选择项目时带有宏的组合框,excel,drop-down-menu,vba,Excel,Drop Down Menu,Vba,我对VBA很陌生,我在谷歌上搜索了又搜索,但找不到一个解决我问题的例子 我得到了一个名字列表,我想把它放在一个可选择的下拉列表中。当我点击他们的名字,我想运行一个不同的宏,我用他们的名字。 昨天我尝试了很多方法,但每次都只成功地分配了一个宏,无论我按哪个名称,它都会被调用 我认为解决方法很简单,但我真的不知道如何用最简单的方法来解决这个问题。所以,希望你们中的任何人都能找到一个简单教程的链接,或者可以分步向我解释 提前谢谢 编辑: 我有两个名字。 Birgitte=A:1 托马斯=A:2 我在X

我对VBA很陌生,我在谷歌上搜索了又搜索,但找不到一个解决我问题的例子

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

我认为解决方法很简单,但我真的不知道如何用最简单的方法来解决这个问题。所以,希望你们中的任何人都能找到一个简单教程的链接,或者可以分步向我解释

提前谢谢

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

我在Xbox上找到了一张表格,上面有两个名字。 当我按下Birgitte键时,我希望一个名为BS_opgive()的宏运行,当我按下Thomas键时,我希望宏TR_opgive运行


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

将此代码粘贴到模块中。右键单击组合框并将宏
下拉列表1\u 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”中

它是什么样的下拉列表?数据验证列表?useform上的组合框?工作表中的组合框?工作表上的组合框。我不知道最好的解决办法是什么。与将宏签名到按钮相比,这似乎让我非常困惑。好的,我的下一个问题是。。。那个组合框是ActiveX控件还是表单控件?表单控件。我会尝试更新我的第一篇帖子,也许会更清楚一点我想要什么。2分钟,库尔。请稍等,为您制作一个样品。非常感谢。现在它像一个符咒一样工作:)这是迄今为止我见过的最简单的解决方案!