我想在excel中的行中显示大约100个组合框。
如何使用循环迭代编写宏代码,而不是像这样逐一编写它:
with combobox1
.additem("stuff 1")
.additem("stuff 2")
end with
with combobox2
.additem("stuff 1")
.additem("stuff 2")
end with
.
..
with combobox100
.additem("stuff 1")
.additem("stuff 2")
end with
我知道这不是有效的方法。如何编写循环???我试试这个但是不起作用。
for i = 1 to 100
with combobox & i
.additem("stuff 1")
.additem("stuff 2")
end with
next i
谢谢。
答案 0 :(得分:0)
只要它们是ActiveX ComboBoxes就可以这样做:
For Each s In OLEObjects
If s.OLEType = 2 And s.progID = "Forms.ComboBox.1" Then
' do your stuff
s.Object.AddItem ("Stuff 1")
End If
Next
或者使用Shapes集合访问您的ComboBox:
For Each s In Shapes
If s.Type = msoOLEControlObject Then
If s.OLEFormat.progID = "Forms.ComboBox.1" Then
s.OLEFormat.Object.Object.AddItem ("Stuff 1")
End If
End If
Next