2009-05-12 8 views
0

Also musste ich einige Daten in MS Word-Tabellen getan, und in Excel bearbeiten. Ich beschloss, es von Word zu Excel über eine VBA-Unterroutine zu bekommen, um "Zeit zu sparen". Mein Quellwortdokument enthielt zweiundzwanzig Tabellen.Erstellen von Tabellen für die Kopie von Word nach Excel

Ich nahm die Tabellen meines Quelldokuments, extrahierte meine Daten und erstellte ein neues Dokument, mit einer neuen Tabelle, nur brauchte ich es zu kopieren und in Excel einfügen.

Während jedoch die Final Table vor dem Kopieren gut in Wort aussieht. Wenn ich es nach Excel kopiere, zerlegt es die Zellen, die ganze Absätze enthalten, in separate Zellen.

Wie die meisten Excel-Peeps wissen würden, obwohl eine Lösung in Excel aussieht, eine Zusammenführung und Zentrierung - das behält nur den Inhalt in der obersten Zelle in der Auswahl bei!

Also, jeder Ratschlag, entweder über eine bessere Zusammenführung und Zentrum, oder eine bessere "Zeitersparnis" insgesamt wäre toll.

Hier ist ein Beispiel für den Code so weit:

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

So habe ich es geschafft, indem ich die eigentliche Tabellenerstellung in Excel gemacht habe. Prost! – Irwin

Antwort

0

Excel verwendet eine andere Leitungsabschluss als Wort. Um das Problem zu vermeiden, dass der Text aus der Word-Tabelle über mehrere Excel-Zellen verteilt wird, müssen Sie die Konvertierung des Zeilenabschlusses selbst durchführen.

Ich poste dies durch Speicher, aber das ist die Wurzel dieses Problems.