Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13775 / 76738 ←次へ | 前へ→

【68465】Re:ComboBoxに同じ値を入れない
発言  kanabun  - 11/3/9(水) 12:06 -

引用なし
パスワード
   ▼Zenji さん:

>>このコードはどこに書かれていますか?
>
>  標準モジュールに書いています
標準モジュールですか??
私はまた、UserForm1のボタンを押すと一連の処理を実行するのかと
想像してました。

UserForm1がすでに開いている前提で、

'----------------------- 標準モジュール
Option Explicit
Sub ComboBox_Setting()
 Dim Ws As Worksheet
 Dim i As Long, j As Long
 Dim LastRow As Long
 Dim v As Variant, ss As String
 Dim dic(2 To 9) As Object
 For i = 2 To 9
  Set dic(i) = CreateObject("Scripting.Dictionary")
 Next
 
 Set Ws = ActiveWorkbook.Worksheets("Sheet1")
 'LastRow=Noが書かれている最下行
 LastRow = Ws.Range("B7").CurrentRegion.Rows.Count
 For i = 7 To LastRow
  v = Ws.Cells(i, 2).Value
  If Not IsEmpty(v) Then
   If v <> "No" Then
    For j = 3 To 10
     ss = Ws.Cells(i, j).Value
     If Len(ss) > 0 Then
      dic(j - 1)(ss) = Empty
     End If
    Next j
   End If
  End If
 Next i
 For i = 2 To 9
   UserForm1.Controls("ComboBox" & i).List = dic(i).Keys()
 Next
 Erase dic

End Sub
'-------------------
とすると、ComboBox2〜ComboBox9 にリストが作成されます。
つまり、このばあい、最初 ComboBoxにはアイテムが一つもない状態を
仮定しています。

そうではなく、
すでにComboBoxどもに、アイテムがAddItem されていて、
そこに Sheet1 からアイテムを追加したい(重複せずに)ということであれば、
別の方法を(ちょっと思いつきませんが)考える必要があります。

この点(新規リスト作成か/すでにあるリストに追加か)をご確認ください。
0 hits

【68460】ComboBoxに同じ値を入れない Zenji 11/3/9(水) 11:06 質問
【68461】Re:ComboBoxに同じ値を入れない kanabun 11/3/9(水) 11:16 発言
【68462】Re:ComboBoxに同じ値を入れない Zenji 11/3/9(水) 11:36 質問
【68465】Re:ComboBoxに同じ値を入れない kanabun 11/3/9(水) 12:06 発言
【68467】Re:ComboBoxに同じ値を入れない Zenji 11/3/9(水) 12:39 質問
【68468】Re:ComboBoxに同じ値を入れない kanabun 11/3/9(水) 12:57 発言
【68476】Re:ComboBoxに同じ値を入れない kanabun 11/3/9(水) 17:00 発言
【68482】Re:ComboBoxに同じ値を入れない Zenji 11/3/9(水) 23:21 お礼
【68484】Re:ComboBoxに同じ値を入れない teian 11/3/9(水) 23:43 発言

13775 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free