Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Von Excel nach Word (VBA) => Ausrichtung

Forumthread: Von Excel nach Word (VBA) => Ausrichtung

Von Excel nach Word (VBA) => Ausrichtung
Florian
Hallo liebe Excel-Freunde!
Habe wiedermal eine Frage, bei der Ihr mir evt. weiterhelfen könntet.
Der Inhalt eines Excel-Sheets soll per VBA in ein leeres Word-Dokument eingefügt werden. Das funktioniert prinzipiell ganz gut. Problem, das ich noch habe, ist die Ausrichtung. Da die Routine verallgemeinert werden soll, wäre es wünschenswert auch die Ausrichtung genau zu steuern, so dass der kopierte Inhalt genau auf eine Word-Seite passt.
Die zu kopierenden Ranges in Excel haben jeweils immer andere Zeilen- und Spaltenanzahlen. Ein einfachs Bsp, wie man die Ausrichtung für nur ein Sheet steuert/anspricht würde mir reichen. Alle Routinen sitzen im Excel-file, Code-Bsp siehe unten)
Vielen Dank für Eure Unterstützung!
Gruß Florian
Sub vonExcelNachWord()
Dim Word_App As Word.Application
Dim Word_Doc As Word.Document
On Error Resume Next
Set Word_App = GetObject(, "Word.Application")
Set Word_App = CreateObject("Word.Application")
Set Word_Doc = Word_App.Documents.Add("C:\Users\Don_Tony\Desktop\bspBriefLeer.doc")
Word_App.Visible = True
With ThisWorkbook
With .Sheets("3xMisch")
.Range(.Cells(1, 1), .Cells(10, 31)).Copy
End With
End With
'in Word einfu"gen
Word_App.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
Placement:=wdInLine, DisplayAsIcon:=False
'Speicher freigeben
Set Word_Doc = Nothing
Set Word_App = Nothing
Application.CutCopyMode = False
Exit Sub
Fehler:
Set Word_Doc = Nothing
Set Word_App = Nothing
Application.CutCopyMode = False
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Von Excel nach Word (VBA) => Ausrichtung
26.05.2011 23:45:19
fcs
Hallo Florian,
im Prinzip sollte es wie folgt funktionieren.
Wenn du mehrere Tabellenbereiche nach Word in eine Datei kopieren willst, dann muss du in Word zusätzliche Abschnittswechsel einfügen und den Pagesetup immer für die entsprechende Section(Abschnitt) machen.
Gruß
Franz
Sub vonExcelNachWord()
Dim Word_App As Word.Application
Dim Word_Doc As Word.Document
Dim Breite As Double
On Error Resume Next
Set Word_App = GetObject(, "Word.Application")
Set Word_App = CreateObject("Word.Application")
Set Word_Doc = Word_App.Documents.Add("C:\Users\Don_Tony\Desktop\bspBriefLeer.doc")
Word_App.Visible = True
With ThisWorkbook
With .Sheets("3xMisch")
With .Range(.Cells(1, 1), .Cells(10, 31))
Breite = .Width
'MsgBox "Breite: " & Breite
If Breite > 460 Then 'der passende Wert hängt von den Randeinstellungen das Docs  _
ab
With Word_Doc.PageSetup
.Orientation = 1 'wdOrientLandscape - Querformat
.LeftMargin = Application.InchesToPoints(1 / 2.54)
.RightMargin = Application.InchesToPoints(1 / 2.54)
.TopMargin = Application.InchesToPoints(2 / 2.54)
.BottomMargin = Application.InchesToPoints(1 / 2.54)
End With
Else
With Word_Doc.PageSetup
.Orientation = 0 'wdOrientPortrait - Hochformat
End With
End If
.Copy
End With
End With
End With
'in Word einfu"gen
Word_App.Activate
Word_App.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
Placement:=wdInLine, DisplayAsIcon:=False
'Speicher freigeben
Set Word_Doc = Nothing
Set Word_App = Nothing
Application.CutCopyMode = False
Exit Sub
Fehler:
Set Word_Doc = Nothing
Set Word_App = Nothing
Application.CutCopyMode = False
End Sub

Anzeige
Besten Dank!! (oT)
27.05.2011 13:15:24
Florian
..
Besten Dank!! (oT)
27.05.2011 13:15:24
Florian
..
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Excel-Daten nach Word einfügen und Ausrichtung steuern


Schritt-für-Schritt-Anleitung

Um Daten aus Excel in ein Word-Dokument einzufügen und die Ausrichtung korrekt einzustellen, folge diesen Schritten:

  1. Öffne Excel und erstelle ein neues Modul:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Modul.
  2. Füge den folgenden VBA-Code ein:

    Sub vonExcelNachWord()
       Dim Word_App As Word.Application
       Dim Word_Doc As Word.Document
       Dim Breite As Double
    
       On Error Resume Next
       Set Word_App = GetObject(, "Word.Application")
       If Word_App Is Nothing Then
           Set Word_App = CreateObject("Word.Application")
       End If
    
       Set Word_Doc = Word_App.Documents.Add("C:\Users\Don_Tony\Desktop\bspBriefLeer.doc")
       Word_App.Visible = True
    
       With ThisWorkbook
           With .Sheets("3xMisch")
               With .Range(.Cells(1, 1), .Cells(10, 31))
                   Breite = .Width
                   If Breite > 460 Then ' Wert hängt von den Randeinstellungen ab
                       With Word_Doc.PageSetup
                           .Orientation = 1 ' wdOrientLandscape - Querformat
                           .LeftMargin = Application.InchesToPoints(1 / 2.54)
                           .RightMargin = Application.InchesToPoints(1 / 2.54)
                           .TopMargin = Application.InchesToPoints(2 / 2.54)
                           .BottomMargin = Application.InchesToPoints(1 / 2.54)
                       End With
                   Else
                       With Word_Doc.PageSetup
                           .Orientation = 0 ' wdOrientPortrait - Hochformat
                       End With
                   End If
                   .Copy
               End With
           End With
       End With
    
       ' In Word einfügen
       Word_App.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _
           Placement:=wdInLine, DisplayAsIcon:=False
    
       ' Speicher freigeben
       Set Word_Doc = Nothing
       Set Word_App = Nothing
       Application.CutCopyMode = False
    End Sub
  3. Ändere den Dateipfad:

    • Stelle sicher, dass der Pfad zu deinem Word-Dokument korrekt ist.
  4. Starte das Makro:

    • Drücke F5, um das Makro auszuführen und die Excel-Tabelle in Word einzufügen.

Häufige Fehler und Lösungen

  • Fehler: Word-Anwendung wird nicht gefunden
    Lösung: Stelle sicher, dass Word installiert ist und die richtige Version verwendet wird. Möglicherweise musst du den Code anpassen, um die Version zu berücksichtigen.

  • Keine Daten in Word eingefügt
    Lösung: Überprüfe den Zellenbereich, der kopiert wird. Achte darauf, dass die Zellen nicht leer sind.

  • Falsches Seitenformat in Word
    Lösung: Stelle sicher, dass die Breite der Excel-Tabelle korrekt berechnet wird. Teste verschiedene Werte für den Vergleich mit 460.


Alternative Methoden

Du kannst auch manuell Daten aus Excel in Word einfügen:

  1. In Excel kopieren:

    • Markiere den gewünschten Bereich und drücke STRG + C.
  2. In Word einfügen:

    • Gehe zu Word und drücke STRG + V.
  3. Seitenformat in Word anpassen:

    • Gehe zu Layout > Ausrichtung, um die Ausrichtung auf Querformat oder Hochformat zu ändern.

Praktische Beispiele

  • Excel Tabelle in Word einfügen im Querformat:
    Verwende den bereitgestellten VBA-Code, um sicherzustellen, dass deine Tabelle im Querformat eingefügt wird, wenn die Breite 460 Punkte überschreitet.

  • Seite drehen mit Inhalt:
    Nutze den Codeblock, um die Ausrichtung einer Seite dynamisch basierend auf dem kopierten Inhalt zu ändern.


Tipps für Profis

  • Verwende Excel-Abschnittswechsel: Wenn du mehrere Tabellen in ein Word-Dokument einfügst, benutze Abschnittswechsel in Word, um die Ausrichtung für verschiedene Abschnitte separat zu steuern.

  • Automatisiere den Prozess: Erstelle eine benutzerdefinierte Funktion in Excel, die die Datenformatierung übernimmt, bevor sie in Word eingefügt werden.


FAQ: Häufige Fragen

1. Wie ändere ich die Ausrichtung einer Seite in Word?
Du kannst die Ausrichtung ändern, indem du zu Layout > Ausrichtung gehst und entweder Hochformat oder Querformat auswählst.

2. Kann ich eine Querseite in Word einfügen?
Ja, du kannst eine Querseite einfügen, indem du einen Abschnittswechsel verwendest und die Ausrichtung für diesen Abschnitt auf Querformat einstellst.

3. Wie kann ich eine Excel-Tabelle in Word im Querformat einfügen?
Nutze den bereitgestellten VBA-Code, um die Tabelle automatisch im Querformat einzufügen, abhängig von der Breite der Tabelle.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige