2017-09-13 302 views
0

我的目标是使用VBA宏将多行格式的文本从Word复制到Excel工作表中。VBA将Word中的多行文本复制到Excel单元格中

现在我有一个需要两个单元格的多行文本。

这是我当前的代码:

With oWB.Worksheets("EPICS")   
    ' Insert DESCRIPTION - todo 
    ' 
    ' HEADING xyz is selected, move one down and go to Pos1 
    Selection.MoveDown Unit:=wdLine, Count:=1 
    Selection.HomeKey Unit:=wdLine 

    ' Save current line number (BEGIN) 
    BeginText = Selection.Range.Information(wdFirstCharacterLineNumber) 

    ' Go to the first table and one move up 
    Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext, Count:=1, Name:="" 
    Selection.MoveUp Unit:=wdLine, Count:=1 

    ' Save current line number (END) 
    EndText = Selection.Range.Information(wdFirstCharacterLineNumber) 
    RangeToSelect = EndText - BeginText 

    Selection.MoveUp Unit:=wdLine, Count:=RangeToSelect, Extend:=wdExtend 
    Selection.Copy 

    .Cells(1, 1).PasteSpecial xlPasteValues 
End With 

这将创建下列内容: enter image description here

我想有以下几点: enter image description here

任何想法如何,我可以处理这个或任何输入?

+0

的代码的最后一行将'ActiveSheet.Cells(1,1)。价值= TXT1& “” &Txt2'。但是,在这之前你所拥有的一切都离你所需要的很远。首先决定是否要从Excel工作表或Word文档运行代码。谷歌的“如何在Excel中打开一个Word文档”(或者其他方式,你会发现你可以建立的基本代码。 – Variatus

+0

不,不,我有一个文件文件。这个宏在这个标题之后复制一个标题和第一个表之间的文本,我的问题是这两个文本之间的文本是多重的我的目标:把这个文本放到一个excel单元中我的当前状态每行在word中,是在excel中的一个单元格中。... – Markus

+0

@Variatus如果你想我会通过邮件向你发送代码,这是相当长的... – Markus

回答

1

代替
...
Selection.Copy
.Cells(1, 1).PasteSpecial xlPasteValues
...
代码
.Cells(1, 1).Value=Selection.text

+0

非常感谢! – Markus

相关问题