excel每四行删除一次

gSh*_*haw 2 excel vba

对 VBA 非常陌生,但有使用其他一些语言的经验,但需要这方面的帮助。我正在尝试创建一个每 4 行删除一次的宏。例如离开第 1 行但删除 2,3,4,5 跳过 6 并继续。这是我到目前为止:

Sub Macro1()

For x = 100 To 1 Step -2
    Range(x & ":" & x).Select
    Selection.ClearContents
Next x
End Sub
Run Code Online (Sandbox Code Playgroud)

我不确定我的 For 循环是否缺少某些东西,或者我可能需要某种索引计数器来告诉它一次删除四个。

Bru*_*yne 5

这将从第 100 行开始并后退到第 1 行。

Sub remove_rows()
Dim x As Long
Application.ScreenUpdating = False

For x = 100 To 1 Step -5
    Range(x & ":" & x - 3).EntireRow.Delete
Next x

Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

(我.Select在这个 .gif 中只是为了直观地向您展示。您不希望在实际的宏中使用它,因为它会减慢速度): 在此处输入图片说明

编辑:啊,我注意到我删除了该行。您可以替换.EntireRow.Delete为.EntireRow.ClearContents,它只会清除内容而不删除行本身。