首页   

使用VBA快速删除间隔行

完美Excel  · Excel  · 1 周前

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:VBA

有时候,可能是因为行重复或者空行等原因,我们需要每间隔一行删除一行。最原始的方法是手工操作,重复且容易出错,特别是遇到大量数据集中,会浪费大量时间。我们可以使用辅助列,在其中快速输入特定的数据,然后通过筛选或者排序后对数据行进行删除。然而,这种重复的工作最适合使用的就是VBA了,通过一小段程序就可以快速执行这样的操作。

代码如下:
Sub DeleteAlternateRowsWithHeader() Dim rng As Range Dim cell As Range Dim deleteCount As Long Dim keepCount As Long Dim i As Long
' 显示用于选择源数据区域的输入对话框 On Error Resume Next Set rng = Application.InputBox("选择源数据区域:", Type:=8) On Error GoTo 0
If rng Is Nothing Then  MsgBox "没有选择任何区域.", vbExclamation Exit Sub End If
' 从第3行开始每隔一行删除一行 (标题行位于第一行) For i = rng.Rows.Count To 3 Step -1 If (i Mod 2) = 1 Then rng.Rows(i).EntireRow.Delete deleteCount = deleteCount + 1 Else keepCount = keepCount + 1 End If Next i
' 统计保留的行数,包括标题行和第2行 keepCount = keepCount + 2
' 显示程序运行后的信息 MsgBox "删除的行数: " & deleteCount & vbCrLf & "保留的行数: " & keepCount, vbInformationEnd Sub

程序假设所选择的数据区域含有标题行,且要删除的行为奇数行。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

推荐文章
每月安全动态(2025年1月)  ·  完美Excel  ·  19 小时前
© 2024 精读
删除内容请联系邮箱 2879853325@qq.com