【发布时间】:2009-05-12 19:37:27
【问题描述】:
所以,我需要在 MS Word 表格中完成一些数据,然后在 excel 中进行操作。 我决定通过 VBA 子程序从 word 到 excel 来“节省时间”。 我的源 Word 文档包含二十多岁的表格。
我拿了我的源文档的表格,提取了我的数据并制作了一个新的文档,有了一个新的表格,只需要我将它复制并粘贴到 Excel 中。
但是,虽然复制前的决赛桌在文字上看起来不错。当我将它复制到 Excel 时,它会将包含整个段落的单元格分解为单独的单元格。
正如大多数 excel 窥视者所知道的那样,即使解决方案看起来像在 excel 中,进行合并和居中 - 只保留选择中最上面的单元格中的内容!
所以,任何关于更好的合并和中心,或者更好的“节省时间”的建议,都会很棒。
这是到目前为止的代码示例:
Sub First()
Dim tableLength, tableIndex
tableLength = ThisDocument.Tables.Count
Dim tblReport As Table
Dim docReport As Document
Set docReport = Documents.Add
Set tblReport = docReport.Tables.Add(Selection.Range, 1, 2)
With tblReport
Dim fieldOne, subvalueAription, subvalueA, subvalueB, subvalueC
For tableIndex = 1 To tableLength
fieldOne = ThisDocument.Tables(tableIndex).Rows(2).Cells(2).Range.Text
subvalueA = Trim(ThisDocument.Tables(tableIndex).Rows(4).Cells(2).Range.Text)
subvalueB = "A: " & Trim(ThisDocument.Tables(tableIndex).Rows(5).Cells(2).Range.Text)
subvalueC = "B: " & Trim(ThisDocument.Tables(tableIndex).Rows(6).Cells(2).Range.Text)
subvalueAription = subvalueA & subvalueB & subvalueC & "C: "
Dim rowNext As row
Set rowNext = .Rows.Add
rowNext.Cells(1).Range.Text = fieldOne
rowNext.Cells(2).Range.Text = subvalueA & subvalueB & subvalueC
Next
End With
End Sub
【问题讨论】:
-
所以我通过在 excel 中创建实际的表来解决它。干杯!