对 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 循环是否缺少某些东西,或者我可能需要某种索引计数器来告诉它一次删除四个。
这将从第 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,它只会清除内容而不删除行本身。
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |