我是Excel VBA的新手,我一直在努力调试以下错误:
Private Sub UserForm_Initialize()
Dim m As Range
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
For Each m In Range("MRF", "FinalRow")
ComboBox1.AddItem (m.Value)
Next
Sub End
我希望使用ComboBox
MRF
中的值初始化Column
。如果我的For
代码为:For Each m In Range("MRF")
,则需要一段时间进行初始化。现在我在For
代码上出错了。
我希望代码的最终输出初始化ComboBox
MRF
中的Column
值。我做错了什么?
答案 0 :(得分:1)
为什么要循环?您可以直接传递Range值。
Me.ComboBox1.List = Application.Transpose(Thisworkbook.Sheets("SheetName"). _
Range("MRF1:MRF" & FinalRow))
或者如果你想坚持循环:
For Each m In Thisworkbook.Sheets("SheetName").Range("MRF1:MRF" & FinalRow)
Me.ComboBox1.AddItem (m.Value)
Next
答案 1 :(得分:0)
尝试For Each m In Range("MRF1:MRF" & FinalRow)
即摆脱"
周围的FinalRow
引号。否则,你真的输入了单词" FinalRow"这显然不是你想要的。