Option Explicit
Private Sub UserForm_Initialize()
Dim a As Object
Dim t As ListObject
Dim rr As Range, r As Range
Dim s As String
Set a = CreateObject("system.collections.arraylist")
Set t = Worksheets("Sheet1").ListObjects("Table1")
With t.Range
.AutoFilter 1, "<>"
On Error Resume Next
Set rr = Intersect(.Offset(1), .Columns(1).SpecialCells(xlCellTypeVisible))
On Error GoTo 0
If Not rr Is Nothing Then
For Each r In rr
s = CStr(r.Value)
If Not a.contains(s) Then
a.Add s
End If
Next
a.Sort
ComboBox1.List = a.toarray
End If
End With
End Sub
マナ