我正在寻找仅使用列中唯一文本值填充组合框。如果列中的值是空的(即“”),那么它将从左侧相邻列中获取值(仍然确保它不是重复的)。
我在 Userform 模块中嵌入了一个 Public Sub 以添加不重复的项目:
Public Sub addIfUnique(CB As ComboBox, value As String)
If CB.ListCount = 0 Then GoTo doAdd
Dim i As Integer
For i = 0 To CB.ListCount - 1
If CB.List(i) = value Then Exit Sub
Next
doAdd:
CB.AddItem value
End Sub
但是,当我尝试调用 sub 时,它告诉我需要一个对象。到目前为止,我得到的如下:
Worksheets("Scrapers").Activate
Range("M9").Activate
Dim intX As Integer
Dim value As String
push_lt_cbo.Clear
Do Until ActiveCell.Offset(0, -1).value = 0
If ActiveCell.value = "" Then
value = ActiveCell.Offset(0, -1).Text
Call addIfUnique((push_lt_cbo), (value))
Else
value = ActiveCell.Text
Call addIfUnique((CB), (value))
End If
Loop
任何帮助将非常感激!
长宽