Excel 2007组合框-开发人员功能区与VBA模块

Excel 2007组合框-开发人员功能区与VBA模块,excel,vba,combobox,excel-2007,Excel,Vba,Combobox,Excel 2007,有人能给我解释一下Excel 2007中通过开发者功能区提供的组合框与VBA编辑器中的组合框控件之间的区别吗?我无法使用“开发人员”组合框使这行简单的代码正常工作: MsgBox Combo1.Value 我把它和变更事件联系在一起,它在语法上似乎是正确的(我不是一个VBA程序员) 开发人员功能区版本是不是某种卑鄙的微软快捷方式 我要做的是根据第一个组合框的选择填充第二个组合框。我不想为每一个可能的选择建立一个案例陈述。使用“开发人员”功能区版本是否可以执行此操作?您所说的“开发人员”选项卡上的

有人能给我解释一下Excel 2007中通过开发者功能区提供的组合框与VBA编辑器中的组合框控件之间的区别吗?我无法使用“开发人员”组合框使这行简单的代码正常工作:

MsgBox Combo1.Value

我把它和变更事件联系在一起,它在语法上似乎是正确的(我不是一个VBA程序员)

开发人员功能区版本是不是某种卑鄙的微软快捷方式


我要做的是根据第一个组合框的选择填充第二个组合框。我不想为每一个可能的选择建立一个案例陈述。使用“开发人员”功能区版本是否可以执行此操作?

您所说的“开发人员”选项卡上的“插入”按钮是否正确?从该按钮可以添加ActiveX控件或表单控件。如果您的新用户开始编程,您最好使用表单控件,因为它们的行为将更符合您所做的任何Excel VBA阅读和帮助文件。使用表单控件,您可以右键单击并选择“查看代码”和/或“重命名控件和代码”。重命名控件允许您在VBA中以任何方式对其进行寻址。e、 g.-Combo1.value或myFavoriteCombo.value

也就是说,要直接回答您的问题,请确保您知道控件的全名。如果您使用了表单控件,并且它是您放在工作表上的第一个控件,那么它将被命名为ComboBox1。要访问组合框的属性,您必须遍历它的“父”表

i、 e.
MsgBox Sheet1.ComboBox1.value(使用工作表的代码名)


MsgBox工作表(“SheetName”).ComboBox1.value(使用Excel选项卡上显示的工作表名称)

在代码中停止,然后在Combo1上加一个“watch”,看看您看到了什么。下面是我为更改事件设置的全部代码:Sub CB_Entity_Change()MsgBox CB_Entity.Value End Sub添加停止不会更改失败点-它只是以相同的错误停止,因为我只是在计算一行。是的,我使用该按钮插入组合框。显然我选择了表单控件版本。为什么两者之间有界限?一个比另一个好吗?是否有一种方法可以链接两个基于表单的组合框,以便我在第一个框中所做的选择默认为在另一个框中所做的选择?我发布的代码应该可以修复您所遇到的错误。如果是,请单击绿色复选框将其标记为答案。下面是Excel中窗体和ActiveX控件之间差异的一个合理解释。至于你的其他问题,谷歌是你的朋友。如果您无法使用搜索找到答案,请向StackOverflow发布另一个答案。感谢GollyJer。谢谢你的帮助。