根据VBA中另一个字段的选择重置字段

时间:2012-10-17 13:31:25

标签: excel vba excel-vba

我在VBA中有一个名为 cbo_deptCode 的下拉字段。每当用户从下拉菜单中选择 cbo_deptCode cbo_moduleCode cbo_moduleName 的字段以清除任何当前条目>。组合框是表单控件。我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:2)

将宏指定给cbo_deptCode。

在宏中有如下代码:

Sub cbo_deptCode_Change()
    'Update selected index for combo boxes to 0 I.E. no selection
    ActiveSheet.Shapes("cbo_moduleCode").OLEFormat.Object.Value = 0
    ActiveSheet.Shapes("cbo_moduleName").OLEFormat.Object.Value = 0
End Sub

如果cbo_moduleCode和cbo_moduleName与cbo_deptCode不在同一工作表上,则需要指定工作表而不是调用ActiveSheet。此外,如果这些不是实际的控件名称,则会失败。

修改 如果您实际使用的是Active-X控件(虽然您说您使用的是表单控件),格式更简单: Sheet.[controlname].value = "" I.E ActiveSheet.cbo_moduleCode.Value = "" 或者涉及形状的更复杂的方法(不推荐):

ActiveSheet.Shapes("cbo_moduleCode").OLEFormat.Object.Object.Value = ""