在VBA中对行进行循环调用

时间:2017-07-25 14:48:04

标签: excel vba call

我试图在我的第一行上运行一个调用,然后删除该行并将单元格向下移动并再次在新的顶行上运行它。重复练习,直到没有剩下的行。是的,我知道这可能是一种缓慢的方式,但我的每行调用大约需要10秒,因此它是跟踪进度的好方法(即剩下多少行)。

这是我到目前为止所做的,但它不理解我删除范围A2:C2的请求,如果范围A3中有值,则将单元格向下移动。

非常感谢任何帮助!

Sub loop_through_rows()

Dim rngQuantityCells As Range

Set rngQuantityCells = Range("A2", Range("A2").End(xlDown))

For i = 1 To rngQuantityCells
Call RunSplit

If Range("A3").Value > 0
then
Range("A2:C2”).Delete Shift:=xlUp

End If
Next
End Sub

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub loop_through_rows()
Dim rngQuantityCells As Range
Set rngQuantityCells = Range("A2", Range("A2").End(xlDown))

For i = 1 To rngQuantityCells
    Call RunSplit
    If Range("A3").Value > 0 Then
        Range("A2:C2").Delete Shift:=xlUp
    End If
Next
End Sub

请注意,您需要在同一行上显示Then。此外,您在Range("A2:C2")上的原始帖子中有两个“样式”(?)引号。