Vba 使用“isempty”删除表行
有人能告诉我为什么,当我运行此代码时,当我的表中有空行时,它会跳过tbl.Range.Rowsi.Delete行吗 非常感谢 黛比 我想我会坚持多久 如表所示的尺寸tblVba 使用“isempty”删除表行,vba,ms-word,Vba,Ms Word,有人能告诉我为什么,当我运行此代码时,当我的表中有空行时,它会跳过tbl.Range.Rowsi.Delete行吗 非常感谢 黛比 我想我会坚持多久 如表所示的尺寸tbl Set tbl = ActiveDocument.Tables(2) For i = tbl.Range.Rows.Count To 1 Step -1 With tbl If IsEmpty(tbl.Range.Rows(i)) = True Then tbl.Range.Rows(i).Delet
Set tbl = ActiveDocument.Tables(2)
For i = tbl.Range.Rows.Count To 1 Step -1
With tbl
If IsEmpty(tbl.Range.Rows(i)) = True Then
tbl.Range.Rows(i).Delete
End If
End With
Next
简单的答案是,在Word中,行永远不会为空—它始终包含单元格结尾和行结尾字符。尝试:
Dim r As Long
With ActiveDocument.Tables(2)
For r = .Rows.Count To 1 Step -1
With .Rows(r)
If Len(.Range.Text) = .Cells.Count * 2 + 2 Then .Delete
End With
Next r
End With
请注意,如果表格中有垂直合并/拆分的单元格,则上述代码将不起作用。谢谢,这非常有效。我很感激你用IsEmpty解释为什么它不起作用。