1

VBAにcbo_deptCodeというドロップダウンフィールドがあります。ユーザーがドロップダウンcbo_deptCodeから選択するたびに、 cbo_moduleCodeおよびcbo_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 = "" またはShapesを含むより複雑な方法(非推奨):

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

于 2012-10-17T14:46:38.763 に答える