2016-10-13 105 views
-1

我想用下面這個簡單的代碼「自動」清理幾個工作表。如果我的數組中只有一個項目,但是隻要我放置兩個或多個項目,就會刪除最後一項(本例中爲「TestMA」)上的所有內容。行刪除多張表中的循環

Dim SheetsArray As Sheets 
Set SheetsArray = ActiveWorkbook.Sheets(Array("TestCS", "TestMA")) 
For Each msheets In SheetsArray 
    With msheets 

    i = 8 
    Do While i < 600 
     If .Cells(i, 2) = "" Then 
      Rows(i).Delete Shift:=xlUp '''''HERE IS THE PROBLEM 
      i = i - 1 
     End If 
     i = i + 1 
    Loop 

    End With 
Next msheets 

我已經確定問題是與行(i).Delete Shift:= xlUp line。

幫助!!

回答

1

而不是

Rows(i).Delete Shift:=xlUp '''''HERE IS THE PROBLEM 

使用

.Rows(i).Delete Shift:=xlUp '''''NOTE THE INITIAL PERIOD 
+0

我嘗試這樣做,它並沒有爲我工作..好像沒改變什麼。 – MM117