Word-VBA-如何删除ATable中选中的行并保护前两行?
Word- VBA- How To Delete Selected Row in A Table and Protect First Two Rows?
以下代码成功删除了 table 中的选择。
If Selection.Information(wdWithInTable) Then
Selection.Rows.Delete
End If
此外,以下代码成功地阻止了前两行 table 行的删除,但不根据选择从底部行向上删除。
Dim index As Long
For index = ActiveDocument.Tables(1).Rows.Count To 3 Step -1
ActiveDocument.Tables(1).Rows(index).Delete
Exit For
Next index
有没有办法将两者结合起来,以便我可以删除任何选定的行,但防止删除前两行?
如果您清楚地说明您想要实现的目标,将会很有帮助。尝试以下方法:
Sub Demo()
With Selection
If .Information(wdWithInTable) = False Then Exit Sub
If .Cells(.Cells.Count).RowIndex > 2 Then
If .Cells(1).RowIndex < 3 Then
.Start = .Tables(1).Rows(3).Range.Start
End If
.Rows.Delete
End If
End With
End Sub
以下代码成功删除了 table 中的选择。
If Selection.Information(wdWithInTable) Then
Selection.Rows.Delete
End If
此外,以下代码成功地阻止了前两行 table 行的删除,但不根据选择从底部行向上删除。
Dim index As Long
For index = ActiveDocument.Tables(1).Rows.Count To 3 Step -1
ActiveDocument.Tables(1).Rows(index).Delete
Exit For
Next index
有没有办法将两者结合起来,以便我可以删除任何选定的行,但防止删除前两行?
如果您清楚地说明您想要实现的目标,将会很有帮助。尝试以下方法:
Sub Demo()
With Selection
If .Information(wdWithInTable) = False Then Exit Sub
If .Cells(.Cells.Count).RowIndex > 2 Then
If .Cells(1).RowIndex < 3 Then
.Start = .Tables(1).Rows(3).Range.Start
End If
.Rows.Delete
End If
End With
End Sub