将名称字段添加到基于列的combobox而不重复?

我在这里find这个链接: 基于列A中的值创build表的VBA代码

它告诉我如何基于第一张纸上的一列中的名称而不重复地创build列中的纸张列表。

我试图把这个代码翻译成可用于ComboBox,但我的VBA技能绝对是平淡无奇。

我到目前为止是

Private Sub form_load() Dim lastRow As Integer Dim cellName As Integer Dim match As Boolean lastRow = Sheets(1).Range("F2").End(xlDown).Row For i = 2 To lastRow match = False cellName = .Sheets(1).Range("F" & i).Value For _________________ ComboBox1.AddItem i End Sub 

你会注意到在我链接的例子中,他们使用了代码

 For Each ws In ActiveWorkbook.Worksheets If ws.Name = sheetName Then match = True End If Next 

以确定单元格是否已被用作表单名称。 但是,我对VBA不熟悉是否存在一个补充命令来检查combobox中的值。

尝试这个:

 Private Sub UserForm_Initialize() Dim lastRow As Integer Dim cellName As Integer Dim match As Boolean Dim iItem As Integer, sItem As String lastRow = Sheets(1).Range("F2").End(xlDown).Row For i = 2 To lastRow match = False sItem = Sheets(1).Range("F" & i).Value2 For iItem = 0 To ComboBox1.ListCount - 1 If ComboBox1.List(iItem) = sItem Then match = True Exit For End If Next iItem If Not match Then ComboBox1.AddItem sItem Next i End Sub