这是我到目前为止所尝试的,
Private Sub UserForm_Initialize()
Dim WBK As Workbook
Set WBK = ActiveWorkbook
WBK.Sheets("MFG_DATA").Range("A2", Range("A" & Rows.Count).End(xlUp)).Name = "Manufacturer"
Me.MFGBOX.RowSource = "Manufacturer"
End Sub
我收到错误1004,所以我没有正确定义我的对象?
答案 0 :(得分:1)
WBK.Sheets("MFG_DATA").Range("A2", Range("A" & Rows.Count).End(xlUp)).Name = "Manufacturer"
此处Range("A" & Rows.Count).End(xlUp)
未使用工作表对象限定,因此将引用活动工作表。如果那不是“MFG_DATA”那么你会收到错误。
最好使用:
With WBK.Sheets("MFG_DATA")
.Range("A2", .Range("A" & Rows.Count).End(xlUp)).Name = "Manufacturer"
End with
答案 1 :(得分:0)
我通常使用.AddItem方法填充组合框。
Test OK: void de.scrum_master.app.CalculatorTest.testAdd()
Test OK: void de.scrum_master.app.CalculatorTest.testSubtract()
Error during test: void de.scrum_master.app.CalculatorTest.testDivide()
java.lang.ArithmeticException: / by zero
Test failed: void de.scrum_master.app.CalculatorTest.testMultiply()
java.lang.AssertionError: expected:<11> but was:<5>
或者如果您想使用命名范围
Private Sub UserForm_Initialize()
Dim WBK As Workbook
Dim n as Integer
Dim item() as String
Set WBK = ActiveWorkbook
n = WBK.Sheets("MFG_DATA").Range("A" & WBK.Sheets("MFG_DATA").Range("A" & Rows.Count).End(xlUp)).Row
For i = 1 To n
With Me.MFGBOX
.AddItem item(i)
End With
Next i
End Sub
答案 2 :(得分:0)
您可以使用命名范围代替宏,只需创建一个表格&#34; Table1&#34;在A列中添加来自A2的组合框值。然后它将进入表格范围。
然后将命名范围定义为 Combovalue 并将范围指定为 = Table1 [Headername] ,即使您在表格中添加新的组合框值,它也会自动更新
现在在combobox属性中,在 RowSource proerty Combovalue 中给出命名范围名称,现在运行表格,命名范围值将显示在组合框中:)