2
請告訴我在我的下面的代碼有什麼問題。我能夠切斷並越過該行,但在此之後,我可以在我的工作表中看到空行。我們如何自動調整行。vba剪切和過去功能沒有任何空白行
切割過去之後,原稿中不應有任何空白行。
Dim i As Variant
endrow = ws1.Range("A" & ws1.Rows.Count).End(xlUp).Row
For i = 2 To endrow
If ws1.Cells(i, "M").Value = str Then
ws1.Cells(i, "M").EntireRow.Cut Destination:=ws2.Range("A" & LastRow +).EndxlUp).Offset(1)
End If
Next
當您剪切和粘貼,就應該刪除行,所以你的迭代將無法正常工作。用'step -1'試試你的循環' – Raystafarian
同樣交換你的'我'值'對於我= endrow到2步-1'。正如@Raystafarian建議的那樣,該行被刪除,這意味着下一行(它將變成'i'下一個)實際上會移動到您當前的'i'值,這意味着它會被忽略。 – bmgh1985
正如其他人所說 - 你需要通過工作表反向工作。 **另外**切割一個值不會刪除單元格 - 它會留下一個空白單元格(嘗試手動執行)。切割後刪除行 - 'ws1.Cells(i,「M」)。EntireRow.Delete Shift:= xlUp' –