Vba 从WORD表中删除特定数量的行

Vba 从WORD表中删除特定数量的行,vba,ms-word,Vba,Ms Word,我正在创建一个用户表单,供用户在WORD中的表中插入/粘贴数据。我已经为用户编写了将指定数量的行插入表中的代码,此外,添加时,每行都按顺序编号。我已尝试反转代码以删除指定数量的行,但未成功 我编写的代码为用户提供了删除指定数量行的选项,但它没有按照我的计划工作。收到消息:参数数目错误或属性分配无效 Sub DeleteRowsFromTable() Dim nNumber as Long Active.document.Tables(2).Select If Selection.Infor

我正在创建一个用户表单,供用户在WORD中的表中插入/粘贴数据。我已经为用户编写了将指定数量的行插入表中的代码,此外,添加时,每行都按顺序编号。我已尝试反转代码以删除指定数量的行,但未成功

我编写的代码为用户提供了删除指定数量行的选项,但它没有按照我的计划工作。收到消息:参数数目错误或属性分配无效

Sub DeleteRowsFromTable()
Dim nNumber as Long

Active.document.Tables(2).Select
  If Selection.Information(wdWithInTable) = True Then
  nNumber = InputBox("Input the number of rows you want to delete:", "Delete rows from the selection")
  Selection.Tables(2).Rows.Last.Delete NumRows:=nNumber

end if

end sub
无论行是否为空,用户都可以从表2底部选择要添加的行数。请尝试:

Sub DeleteRowsFromTable()
Application.ScreenUpdating = False
Dim n As Long, r As Long
With ActiveDocument.Tables(2)
  On Error GoTo ErrExit
  n = InputBox("Input the number of rows you want to delete:", "Delete rows from the table")
  For r = .Rows.Count To 1 Step -1
    If n = 0 Then Exit For
    If r < 7 Then Exit For
    .Rows(r).Delete
    n = n - 1
  Next
End With
ErrExit:
Application.ScreenUpdating = True
End Sub

macropod-谢谢。代码工作时没有错误。我还有一个问题:如何防止用户删除前6行;第一行是标题行,接下来的五行我需要一直显示。再次感谢您在这方面的帮助。如果您有新问题要问,请提出新问题-不要在评论中延伸您想要的内容@ReyTaino@ReyTaino你应该在问题中详细说明你的所有要求;不要零碎地推出它们。这是您第二次通过评论更改需求。答案已更新。