0

Excel 2007ワークシートにActiveXとフォームコントロール(テスト用のドロップダウン)があります。以下のコードを使用してデータをバインドしました:

Private Sub ComboBox1_Change()
    If ComboBox1.Value = 1 Then
        ComboBox2.List = Array("a", "b", "c")
        ComboBox2.Value = ComboBox2.List(0)
    ElseIf ComboBox1.Value = 2 Then
        ComboBox2.List = Array("A", "B", "C", "D")
        ComboBox2.Value = ComboBox2.List(0)        
    End If
End Sub

Private Sub Worksheet_Activate()
    ComboBox1.List = Array(1, 2)  
    ComboBox3.List = Array("Delhi", "Kolkata")
    ComboBox3.Value = ComboBox3.List(0)
    ComboBox4.List = Array("Delhi6", "Kolkata71")
    ComboBox4.Value = ComboBox4.List(0)
End Sub

Private Sub UserForm_Initialize()
    ComboBox1.List = Array(1, 2)
End Sub

しかし、ワークシートを再度開くと、コンボボックスは閉じた状態で開いており、ドロップダウンにデータが残っていません。発砲するのに行方不明のイベントについて教えてください。

前もって感謝します...

4

1 に答える 1

0

私が犯した間違いを(私の友人の助けを借りて)見つけました...シートで使用していたUserForm_Initialize関数はまったく使用しないでください。次に、Worksheet_Activateも使用されません。

必要な機能は

Private Sub Workbook_Open()
Sheets("Print_Sheet").ComboBox1.List = Array(1, 2, 3, 4)
Sheets("Print_Sheet").ComboBox3.List = Array("Delhi", "Kolkata")
Sheets("Print_Sheet").ComboBox3.Value = ComboBox3.List(0)
Sheets("Print_Sheet").ComboBox4.List = Array("Delhi6", "Kolkata71")
Sheets("Print_Sheet").ComboBox4.Value = ComboBox4.List(0)
End Sub

これは、ThisWorkbookのMicrosoftExcelオブジェクトで使用されます。これで、コンボが正しく設定されました。

于 2012-06-26T09:45:54.683 に答える