2017-09-13 110 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

相關問題