循环使用vba代码通过范围调用宏



我有一个宏,它查看指定单元格中的数据选择,它从选择的每一行中获取值,并填充excel电子表格。它调用另一个正在运行的宏。

当我启动开始和结束单元格时,这段代码运行得很好,但我希望能够使用可变范围,这样它就会自动找到最后一个单元格并贯穿整个选择。

我尝试过使用'For Each rngMyCell In Sheets("Selection").Range("A43").End(xlDown).Row,但这只选择了列表中的最后一个项目,并没有贯穿所有项目。有人能告诉我做错了什么吗。

谢谢,

Sub Macro1()
Sheets("Selection").Range("B6").Value = Now()
Dim rngMyCell As Range

Application.ScreenUpdating = False

For Each rngMyCell In Sheets("Selection").Range("A43:A50")
Sheets("Selection").Range("C3").Value = rngMyCell
Call RunAll
Next rngMyCell

Application.ScreenUpdating = True
Sheets("Selection").Range("B7").Value = Now()
MsgBox ("All done")
End Sub

在发布的代码中:For Each rngMyCell In Sheets("Selection").Range("A43").End(xlDown).Row你在循环一个数字,而不是范围(这是错误的(。For Each中的组。。。下一个语句应该是对象集合或数组的名称。

要在整个范围内动态循环,请尝试以下操作:

For Each rngMyCell In Sheets("Selection").Range("A43:A" & Sheets("Selection").Range("A43").End(xlDown).Row)

最新更新