对象范围_Global失败

时间:2014-05-26 06:20:31

标签: excel vba excel-vba

我是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值。我做错了什么?

2 个答案:

答案 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"这显然不是你想要的。