VBA不能正确处理find方法返回的范围

我有这个代码:

Private Sub UserForm_Initialize() Dim Text_Cell As Range Dim temp As Control Set Text_Cell = Sheet1.Cells.Find("Text") Do Until Text_Cell.Offset(1, 0).Value = "" Set temp = UserForm1.MultiPage(1).Controls.Add("Forms.Commandbutton.1", "h") Set Text_Cell = text_Cell.Offset(1, 0) Loop 

编辑:只是一个快速澄清 – 使用MsgBoxes,断点,科学,魔术等我find了“对象所需”错误的原因发生之前VBA进入循环。

我正在试图find一个单元格的值为“文本”,然后为每个单元格的值低于它 – 创build一个控件在我的用户界面。 我遇到的问题是Find方法find正确的单元格,返回并分配它,但由于某些原因,VBA无法处理“text_Cell”variables,即使设置了断点并查看了“text_Cell”的局部variables我看到它被分配到适当的单元格。 我不断收到“Object Required”错误。 单独获取单元格不会返回任何内容,因此尝试引用Offst(1,0)会引发“Object required”错误。

我正在试图find一个单元格的值为“文本”,然后为每个单元格的值低于它 – 创build一个控制我的用户界面。

使用以下内容在文本下遍历单元格下的所有非空单元格。

 Set Text_Cell = Sheet1.Cells.Find(What:="text", MatchCase:=False, _ LookAt:=xlWhole, LookIn:=xlFormulas) Do Until Text_Cell.Value = "" Set temp = UserForm1.MultiPage(1).Controls.Add("Forms.Commandbutton.1", "h") Set text_Cell = text_Cell.Offset(1, 0) Loop