Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Überschriften in Word aus Excel erstellen

Überschriften in Word aus Excel erstellen
19.08.2014 10:06:09
Bernhard
Hallo zusammen,
ich möchte aus Excel 2010 mit einem VBA Makro ein Word-Dokument öffenen und in diesem Überschriften erstellen. Der Text für die Überschriften stammen aus der Excel-Datei.
Leider treten die Laufzeitfehler 424 und 438 auf. Kann mir jemand einen Tip geben, was zu korrigieren ist, oder ob es eine elegantere Lösung gibt.
Vielen Dank schon mal.
Hier mein Skrip:

Sub Ueberschriften_aus_Excel_nach_Word()
Dim text_uberschrift1 As String
Dim text_uberschrift2 As String
Dim appWord As Object
Dim docTest As Object
text_uberschrift1 = Cells(1, 1)
text_uberschrift1 = Cells(1, 1)
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.Documents.Add("C:\LV_Muster.docx")
appWord.Visible = True
ShowVisualBasicEditor = True
Selection.Style = activedocument.Styles("Überschrift 1")    'Laufzeitfehler 424
Selection.TypeText Text = text_uberschrift1                 'Laufzeitfehler 438
Selection.TypeParagraph                                     'Laufzeitfehler 438
Selection.TypeParagraph
Selection.Style = activedocument.Styles("Überschrift 2")
Selection.TypeText Text = text_uberschrift2
Selection.TypeParagraph
Selection.TypeParagraph
Set appWord = Nothing
Set docTest = Nothing
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überschriften in Word aus Excel erstellen
19.08.2014 11:19:25
fcs
Hallo Bernhard,
wen du unter VBA mit 2 verschiedenen Anwendungen arbeitetst, dann musst du sehr genau darauf achten, dass die Anweisungen in der richtigen Anwendung ausgeführt werden.
Ohne Anwendungs-Object vor "Selection" bezieht sich Selection in einem Excel-Makro immer auf das Selektierte Objekt in Excel. Deshalb die Fehlermeldungen.
Außerdem hast du in den Zeilen mit "TypeText" noch einen Syntax-Fehler; es Fehlt der Dopelpunkt vor dem Gleichheitszeichen.
Gruß
Franz
Sub Ueberschriften_aus_Excel_nach_Word()
Dim text_uberschrift1 As String
Dim text_uberschrift2 As String
Dim appWord As Object
Dim docTest As Object
text_uberschrift1 = Cells(1, 1)
text_uberschrift2 = Cells(1, 2)
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.Documents.Add("C:\LV_Muster.docx")
appWord.Visible = True
'ShowVisualBasicEditor = True 'unnötig - wozu soll das gut sein?
With appWord
.Selection.Style = docTest.Styles("Überschrift 1")    'Laufzeitfehler 424
.Selection.TypeText Text:=text_uberschrift1                  'Laufzeitfehler 438
.Selection.TypeParagraph                                     'Laufzeitfehler 438
.Selection.TypeParagraph
.Selection.Style = docTest.Styles("Überschrift 2")
.Selection.TypeText Text:=text_uberschrift2
.Selection.TypeParagraph
.Selection.TypeParagraph
End With
appWord.Activate
Set appWord = Nothing
Set docTest = Nothing
End Sub

Anzeige
AW: Überschriften in Word aus Excel erstellen
20.08.2014 12:49:15
Bernhard
Hallo Franz,
vielen Dank für die schnelle Antwort. Es funktioniert alles einwandfrei.
Gruß
Bernhard
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Überschriften in Word aus Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und stelle sicher, dass du die Daten, die du als Überschriften in Word verwenden möchtest, in deiner Tabelle hast. Zum Beispiel könnten die Überschriften in den Zellen A1 und A2 stehen.

  2. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf VBAProject (deinWorkbookName) und wähle Einfügen > Modul.
  4. Füge den folgenden Code ein, um ein Word-Dokument zu generieren und Überschriften einzufügen:

    Sub Ueberschriften_aus_Excel_nach_Word()
       Dim text_uberschrift1 As String
       Dim text_uberschrift2 As String
       Dim appWord As Object
       Dim docTest As Object
    
       text_uberschrift1 = Cells(1, 1)
       text_uberschrift2 = Cells(1, 2)
    
       Set appWord = CreateObject("Word.Application")
       Set docTest = appWord.Documents.Add("C:\LV_Muster.docx")
       appWord.Visible = True
    
       With appWord
           .Selection.Style = docTest.Styles("Überschrift 1")
           .Selection.TypeText Text:=text_uberschrift1
           .Selection.TypeParagraph
           .Selection.Style = docTest.Styles("Überschrift 2")
           .Selection.TypeText Text:=text_uberschrift2
           .Selection.TypeParagraph
       End With
    
       Set appWord = Nothing
       Set docTest = Nothing
    End Sub
  5. Führe das Makro aus, indem du im VBA-Editor auf F5 drückst oder über Excel das Makro aus der Liste wählst.


Häufige Fehler und Lösungen

  • Laufzeitfehler 424: Dieser Fehler tritt auf, wenn du versuchst, auf ein Objekt zuzugreifen, das nicht korrekt referenziert ist. Stelle sicher, dass du With appWord verwendest, um die Anweisungen auf das Word-Objekt anzuwenden.

  • Laufzeitfehler 438: Dieser Fehler bedeutet, dass das Objekt nicht die gewünschte Methode oder Eigenschaft hat. Achte darauf, dass du TypeText korrekt verwendest, indem du Text:= vor dem Text angibst.


Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du die Überschriften auch manuell in Word einfügen. Eine Excel-Tabelle mit Überschrift erstellen und die Daten dann einfach kopieren und in dein Word-Dokument einfügen, ist eine einfache Lösung. Allerdings bietet die Makro-Methode den Vorteil der Automatisierung und Effizienz, besonders bei größeren Datenmengen.


Praktische Beispiele

Nehmen wir an, du möchtest eine Excel-Tabelle mit verschiedenen Überschriften erstellen:

Überschrift 1 Überschrift 2
Projekt A Teil 1
Projekt B Teil 2

Verwende die obigen Schritte, um diese Daten automatisiert in ein Word-Dokument zu übertragen, wobei jede Überschrift korrekt formatiert wird.


Tipps für Profis

  • Makros in Word erstellen: Du kannst auch Makros in Word erstellen, um häufige Formatierungen oder Textbausteine zu automatisieren. Dies kann dir helfen, Zeit zu sparen und die Konsistenz deines Dokuments zu gewährleisten.

  • Fehlerdiagnose: Verwende Debug.Print, um den Inhalt von Variablen während der Ausführung des Makros zu überprüfen. Dies kann dir helfen, Probleme schneller zu identifizieren.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass das Word-Dokument korrekt geöffnet wird? Vergewissere dich, dass der Pfad zu dem Dokument, das du erstellen möchtest, korrekt ist. Andernfalls wird ein Fehler angezeigt.

2. Was tun, wenn ich weitere Überschriften hinzufügen möchte? Du kannst einfach weitere Selection.Style und Selection.TypeText Anweisungen im Code hinzufügen, um zusätzliche Überschriften zu erstellen.

3. Funktioniert dieses Makro in allen Excel-Versionen? Das Makro sollte in Excel 2010 und späteren Versionen funktionieren. Achte darauf, dass du auch die richtige Version von Word installiert hast.

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