Удалить определенное количество строк из таблицы WORD - PullRequest
0 голосов
/ 23 марта 2019

Я создаю пользовательскую форму для пользователей, чтобы вставлять / вставлять данные в таблицу в 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), независимо от того, пуста строка или нет.

1 Ответ

1 голос
/ 23 марта 2019

Попробуйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...