我遇到了问题:
在我的Excel电子表格中,我有一个ComboBox(来自 Developer> insert> form> combobox )
我想使用A列中的值填充此组合框,如果M列中的相同数字具有值。
我会使用哪种VBA代码?
见下面我编造的一些(显然不起作用)
提前致谢!
For i = 10 To 239
cell1temp = i
If Sheets("MASTER SHEET").cell(M, cell1temp).Value <> "" Then
DropDown35.AddItem "" & Worksheets("MASTER SHEET").Cells(A, cell1temp) & _
" " & Worksheets("MASTER SHEET").Cells(B, cell1temp)
End If
Next i
答案 0 :(得分:0)
事实上,如果您去控件标签中看到格式控制,您会看到您插入的表单只能范围作为列表中建议值的输入。
如果您继续使用宏录制器,您将看到这些对象实际上被称为 DropDown ,如您发布的代码所示。
因此,如果您因特定原因想要坚持使用该对象,您必须:
ActiveSheet.Shapes.Range("Drop Down 35").ListFillRange
现在,如果您可以更改为真正的 ComboBox (来自开发人员&gt;插入&gt; ActiveX&gt; ComboBox):
您可以使用与您发布的结构类似的结构:
Dim ValA As String, _
Ws As Worksheet
Set Ws = ThisWorkbook.Sheets("MASTER SHEET")
For i = 10 To 239
If Ws.Cells(i, "M").Value <> vbNullString Then _
Ws.Shapes.Range("ComboBox1").AddItem Ws.Cells(i, "A") & " " & Ws.Cells(i, "B")
Next i
Set Ws = Nothing