我有一些问题...我是VBA的新手。 所以...我有一个小应用程序,它有一堆ComboBoxes ...它们中的大多数都有来自Excel中的Range的相同值。 所以我想用一个小代码获取Comboboxes中的值,这里是
Dim rep As Range
Dim cbox As Range
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
For Each rep In ws.Range("Repere")
For Each cbox In ws2.Range("cboxs")
With Me.cbox.Value
.AddItem rep.Value
End With
Next cbox
Next rep
问题是这个东西不起作用......似乎Me.cbox.Value不正确。我想用Me.cbox.Value做的事情是有像Me.Combobox1,Me.Combobox2,Me.Combobox3等......在Range cboxs中是Comboboxes的名字...... 所以我想在每个Combobox中加载Range“Repere”中的数据...(我在应用程序中大约有40个) 非常感谢!
答案 0 :(得分:1)
在我看来,你不应该使用value属性。您打算使用for循环中的组合框的addItem方法,但是您试图在Me.cbox.Value上调用该方法。它应该是
For Each cbox In ws2.Range("cboxs")
Me.Controls(cbox.Value).AddItem rep.Value "<-----no need for the with bloc at all
End With
Next cbox
祝你好运!
答案 1 :(得分:0)
尝试With Me.Controls(cbox.Value)
。