VBA宏删除Word表中的空行
我一直在努力处理一个单词宏,该宏删除存在“$”的空行。下面的代码工作,但只适用于所选表格,我如何让代码循环遍历整个文档并删除所有页面中的空行。VBA宏删除Word表中的空行
Option Explicit
Sub TEST()
Dim i As Long
With Selection.Tables(1)
For i = .Rows.Count To 1 Step -1
If Len(.Cell(i, 2).Range.Text) = 3 And Left(.Cell(i, 2).Range.Text, 1) = "$" Then
.Rows(i).Delete
End If
Next i
End With
End Sub
这不是所测试的相同数据集作为OP具有由于没有设置它。
Option Explicit
Sub TEST()
Dim tbl As Table
Dim mDoc As Document
Dim oRow As Row
Set mDoc = ActiveDocument
For Each tbl in mDoc.Tables
For Each oRow In tbl.Rows
If Len(oRow.Cells(2).Range.Text) = 3 And _
Left(oRow.Cells(2).Range.Text, 1) = "$" Then
oRow.Delete
End If
Next oRow
Next tbl
End Sub
谢谢马苏德。编译错误失败。 – user7675421
@ user7675421现在正在工作。不要将Word文档称为工作簿以避免这种混淆。我正在为Excel工作簿做这件事。 – Masoud
对此感到抱歉。我试过它不会失败,但它不会删除任何空行。谢谢 – user7675421
是否只查看每个工作表中的表? – Masoud
是的,但只要删除存在美元符号的空行,就不一定是表格。 – user7675421