|
今日は。
ComboBox1からComboBox6までつくり、いろいろ試してみたのですが
ComboBox1.List = Array("A", "B", "C")
ComboBox2.List = Array(1, 2, 3)
'
With Sheets("Sheet1")
Me.ComboBox3.List = .Range(.Cells(1, 1), .Cells(20, 1).End(xlUp)).Value
End With
'
For i = 1 To 5
ComboBox4.AddItem Sheets("Sheet1").Cells(i, 1).Value
Next
のような方法でリスト設定したら
ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear
ComboBox4.Clear
でリストを、クリアできます。
しかし、下記サンプルコードでやると、ComboBox5.Clearで ComboBox5 のリストは残ります。
どんなコードで残るのか分りませんが、下記例では、On Error Resume Nextがあるために起こっています。
リストの設定の仕方をComboBox1からComboBox4の方法で設定してみて、ComboBox*.Clear
でクリアしてみたりして、いろいろ試してみてください。
今はこれくらいのことしか言えません。
Private Sub CommandButton1_Click()
On Error Resume Next
ComboBox1.Clear
ComboBox2.Clear
ComboBox3.Clear
ComboBox4.Clear
ComboBox5.Clear
ComboBox6.Clear
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
ComboBox1.List = Array("A", "B", "C")
ComboBox2.List = Array(1, 2, 3)
'
With Sheets("Sheet1")
Me.ComboBox3.List = .Range(.Cells(1, 1), .Cells(20, 1).End(xlUp)).Value
End With
'
For i = 1 To 5
ComboBox4.AddItem Sheets("Sheet1").Cells(i, 1).Value
Next
'
'この方法では ComboBox5.Clear でエラー発生
ComboBox5.RowSource = "Sheet1!a1:a5"
'ComboBox5.RowSource = "a1:a5"
'
ComboBox6.List = Array(1, 2, 3)
End Sub
>>>それと、コマンドボタンを作り、コンボ6以外の内容をクリアー
>>>させたいのですが、下記のように記述して、実行しても、何故か、
>>>1234のコンボボックスしか、空白にならないのですがどうして
>>>でしょうか?
>>>
>>>Me.ComboBox1.Clear
>>>Me.ComboBox2.Clear
>>>Me.ComboBox3.Clear
>>>Me.ComboBox4.Clear
>>>Me.ComboBox5.Clear
>>>Me.ComboBox13.Clear
>
>上記の所は間違えで、コンボ6,5,13だけでしたので、
>以下の様に記述してみましたが、何もおこらず、コンボボックスに
>内容が残ったままでした。
>
>Me.ComboBox6.Clear
>Me.ComboBox5.Clear
>Me.ComboBox13.Clear
>
|
|