2017-07-25 40 views
0

我試圖在我的頂行上運行一個調用,然後刪除該行並將其移動到下面的單元格中,並再次在新的頂行上運行它。重複練習,直到沒有剩下的行。是的,我知道這可能是一個緩慢的做法,但我的電話每行需要大約10秒,所以這是跟蹤進程(即剩下多少行)的好方法。VBA中的行循環調用

這是我到目前爲止,但它不理解我的要求,刪除範圍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

如何/何時設置變量rngSinglecell? – Sam

+1

如果你可以給出一個解釋的截圖,它會幫助你得到更好的答案。 – Vityata

+1

(你沒有得到錯誤嗎?你的'then'應該與'If',AFAIK在同一行)。 – BruceWayne

回答

1

試試這個:你所需要的Then

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 

注意在同一行。另外,您在Range("A2:C2")上的原始帖子中有兩個「樣式」(?)引號。

+0

非常感謝,多麼愚蠢的錯誤! – user3248544