こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

EXCEL VBA 多種のコンボボックス操作

こんばんは。
現在ユーザーフォーム上に10個のコンボボックスを配置しています。
1-8は共通リストを、9と10は別々のリストを表示させたいのですが・・

Private Sub UserForm_Initialize()
Dim X, No, Y As Integer
With UserForm2
For No = 1 To 8
For X = 0 To 7
.Controls("ComboBox" & No).AddItem Worksheets("Letter").Cells(X + 1, 10).Value
Next
Next
For Y = 0 To 7
.ComboBox9.AddItem Worksheets("Letter").Cells(Y + 1, 11).Value
.ComboBox10.AddItem Worksheets("Letter").Cells(Y + 1,12).Value
Next
End With
End Sub

上記のコードですが、エラーが出てどうにも行き詰っています。
Private Sub UserForm_Initialize()
Dim X, No As Integer
For No = 1 To 8
For X = 0 To 7
UserForm2.Controls("ComboBox" & No).AddItem Worksheets("Letter").Cells(X + 1, 10).Value
Next
Next
End Sub
↑だと1-8まで問題なく動くのですが・・・
すみませんが、アドバイスお願いいたします。

投稿日時 - 2008-10-04 21:32:29

QNo.4377579

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

エラーが発生する行と、内容を教えていただけないでしょうか。
併せてセルデータの内容も教えてください。

投稿日時 - 2008-10-04 22:06:12

補足

xls88様へ
すみません。どうやら初歩的なミスをしておりました。
当初ComboBox9と10のプロパティ設定の[RowsSource]で
Sheet1上のセルからリストを読み込んでおり、途中から
上記の方法に変更しました。
Sheet1上のデータは消去されているにもかかわらず[RowsSource]
ではそこを読み込む設定になっており且つ↓でも指定していたため
.ComboBox9.AddItem Worksheets("Letter").Cells(Y + 1, 11).Value
.ComboBox10.AddItem Worksheets("Letter").Cells(Y + 1,12).Value
重複エラーがでていたようです。
[RowsSource]の設定を消したら問題なく動作しました。

投稿日時 - 2008-10-04 22:11:29

お礼

どうもありがとうございました。

投稿日時 - 2008-10-04 22:43:34

あなたにオススメの質問