因此,我需要在MS Word表格中完成一些数据,并在excel中进行操作。 我决定通过VBA子程序将它从单词转到excel,以“节省时间”。 我的源文档文档包含二十几岁的表格。
我拿了我的源文档表,提取了我的数据并用一个新表创建了一个新文档,只需要我将它复制并粘贴到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
答案 0 :(得分:0)
Excel使用与Word不同的行终止符。为了避免Word表格中的文本被拆分为多个Excel单元格的问题,您需要自己处理行终止符转换。
'Word > Excel
newText = Replace(wordText, vbCrLf, vbLf)
我是通过记忆发布的,但那是问题的根源。