1

我在 VBA 中有一个名为cbo_deptCode的下拉字段。每次用户从下拉cbo_deptCode中进行选择时,我希望将另一组名为cbo_moduleCodecbo_moduleName的字段从任何当前条目中清除。组合框是表单控件。我怎样才能实现这一目标?

4

1 回答 1

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 = ""IEActiveSheet.cbo_moduleCode.Value = "" 或涉及形状的更复杂的方法(不推荐):

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

于 2012-10-17T14:46:38.763 回答