使用Word VBA在表之间传输数据?

时间:2018-07-20 18:18:06

标签: vba ms-word word-vba word-vba-mac

我有一份文档,其中包含特定测试中的所有问题以及其统计信息表。我正在尝试在这些表之间传输数据,特别是将选择某个选择题的人所占的百分比插入该问题中实际答案旁边的框中。

我已附上问题表和统计表的1的屏幕快照,我的文档中有25个问题表,其中一个统计表用于处理25个问题。

下面是我的代码。在Else条件下的那一部分是可以使用的,但我似乎无法获得我的第一个If Condition并循环将统计表中的数据收集到我设置的数组中。希望有人可以深入了解第一部分为何不起作用。

Sub Insert_Statistics()

Dim QTable As Table
Dim RowCount As Integer
Dim StringValue As String
Dim i As Integer
Dim j As Integer
Dim A(35) As String
Dim B(35) As String
Dim C(35) As String
Dim D(35) As String

For Each QTable In ActiveDocument.Tables


If RowCount > 14 Then


Do While i < 25


A(i + 1) = QTable.Rows(4 * i + 4).Cells(4).Range.Text
B(i + 1) = QTable.Rows(4 * i + 4).Cells(5).Range.Text
C(i + 1) = QTable.Rows(4 * i + 4).Cells(6).Range.Text
D(i + 1) = QTable.Rows(4 * i + 4).Cells(7).Range.Text

i = i + 1


Loop


Else


QTable.Rows(1).Cells(2).Select
StringValue = Selection.Text
j = Val(StringValue)

QTable.Rows(6).Cells(3).Range.Text = A(j)
QTable.Rows(6).Cells(3).Range.ParagraphFormat.Alignment = 
Word.WdParagraphAlignment.wdAlignParagraphLeft
QTable.Rows(7).Cells(3).Range.Text = B(j)
QTable.Rows(7).Cells(3).Range.ParagraphFormat.Alignment = 
Word.WdParagraphAlignment.wdAlignParagraphLeft
QTable.Rows(8).Cells(3).Range.Text = C(j)
QTable.Rows(8).Cells(3).Range.ParagraphFormat.Alignment = 
Word.WdParagraphAlignment.wdAlignParagraphLeft
QTable.Rows(9).Cells(3).Range.Text = D(j)
QTable.Rows(9).Cells(3).Range.ParagraphFormat.Alignment = 
Word.WdParagraphAlignment.wdAlignParagraphLeft


QTable.AutoFitBehavior wdAutoFitWindow

End If

Next



End Sub

0 个答案:

没有答案