ステートメント制御文の使用例10
使用例10
リストボックスに1列を重複なしで表示する (2種類)
Find と AddItem メソッドを使う方法
--------------------------------------
Private Sub UserForm_Initialize()
Dim rng As Range
Dim r As Long
r = Worksheets("Sheet1").Rows.Count 'シート最終行
ListBox1.AddItem Range("A1") '1行目タイトル
'シート検索
'重複なしで1列データ表示
With Worksheets("Sheet1").Range("A1:A11")
For i = 1 To 11
Set rng = .Find(i, LookIn:=xlValues)
If Not rng Is Nothing Then
ListBox1.AddItem rng.Value
End If
Next i
End With
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
コレクション(Collection)を使う方法
--------------------------------------
Private Sub UserForm_Initialize()
Dim rng As Range
Dim clt As Collection 'コレクション
Set clt = New Collection
'重複なしで1列データ表示
For Each rng In Range("A1:A11")
On Error Resume Next 'エラーを飛ばす
clt.Add Item:=rng.Value, Key:=CStr(rng.Value)
'エラー表示がない場合のみ、つまり
'新規の値のみ リスト の項目に追加
If Err.Number = 0 Then
ListBox1.AddItem rng.Value
End If
On Error GoTo 0 'エラー命令の初期化
Next
Set clt = Nothing
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
back top