对 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
我不确定我的 For 循环是否缺少某些内容,或者我可能需要某种索引计数器来告诉它一次删除四个。
最佳答案
这将从第 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
(我在这个 .gif 中有 .Select
只是为了直观地向您展示。您不希望在实际的宏中使用它,因为它会减慢速度):
编辑:啊,我注意到我删除了该行。您只需将 .EntireRow.Delete
替换为 .EntireRow.ClearContents
即可,它只会清除内容,而不会删除行本身。
关于excel - 删除Excel中的每四行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48813698/