宏以计算一张表中的行并在第二张表中添加#行

时间:2018-08-21 09:43:48

标签: vba count ms-word row

我有一个Word文档,其中包含许多表格。 我正在尝试构建一个宏来计算Table1中的行数,将该数字存储为Variable:[n_rows],然后将[n_rows]插入Table7。 我正在使用书签以防用户添加新表,但是我对只使用ActiveDocument表或其他任何想法都持开放态度。 我在代码的.Variables行上收到“无效或不合格的引用”(请参见下文)。 救命!

Sub CountRows()
'
'   CountRows
'
'
If ActiveDocument.Bookmarks.Exists("Objectives") = True Then
ActiveDocument.Bookmarks.Item("Objectives").Select
.Variables("numrows").Value = Selection.Tables(1).Rows.Count
End If
Selection.GoTo What:=wdGoToBookmark, Name:="LogFrameSO"
Selection.InsertRowsBelow [NumRows]
End Sub

1 个答案:

答案 0 :(得分:0)

如果您要使用以下代码:

.Variables(“ numrows”)。Value

  1. 必须存在一个名为“ numrows”的文档变量;和

  2. 使用现有代码,您需要在两个实例中将其引用为ActiveDocument.Variables(“ numrows”)。Value。

尝试:

Sub AddRows()
Application.ScreenUpdating = False
Dim r As Long, i As Long
With ActiveDocument
  If .Bookmarks.Exists("Objectives") Then
    r = .Bookmarks("Objectives").Range.Tables(1).Rows.Count
  End If
  If .Bookmarks.Exists("LogFrameSO") Then
    With .Bookmarks("LogFrameSO").Range.Tables(1).Rows
      For i = 1 To r
        .Add
      Next
    End With
  End If
End With
Application.ScreenUpdating = True
End Sub