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

Forumthread: VBA Tabelle in Word erweitern

VBA Tabelle in Word erweitern
17.06.2020 19:30:15
MarC
Hallihallo,
ich übertrage per Marko Werte von Excel in meine Word Vorlage. Wenn die Zeilen in der Word Tabelle nicht reichen würde ich die gerne erweitern. Aktuell erhalte ich immer den Laufzeitfehler 5 ich weiß aber noch nicht warum. Kann es sein das der Code so nicht ausgeführt werden kann weil das Word Dokument das aktive Fenster ist?
Sub Makro1()
Dim appWord As Object
Dim docTest As Object
Dim WorkbookName As String
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.Documents.Add("xxxx.docx")
appWord.Visible = True
docTest.Activate
docTest.Tables(1).Cell(1, 2).Range = Sheets("xxxx").Range("B9")
If Sheets("xxxx").Cells("B22")  "Insert new line" And Sheets("xxxx").Cells("B22")  ""  _
Then
docTest.Tables(2).Rows.Add
End If
Set docTest = Nothing
Set appWord = Nothing
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabelle in Word erweitern
17.06.2020 22:27:34
ralf_b
1. kommentiere das activate aus und finde heraus ob es stört.
2. gibt es denn eine Tabelle(2)? Du schreibst du willst eine Tabelle erweitern und speicherst in Tabelle1, aber dann fügst du an Tabelle2 eine Zeile ein.
AW: VBA Tabelle in Word erweitern
17.06.2020 23:08:11
MarC
Hallo Ralf,
also ich habe in der Word Vorlage 10 Tabellen und ich würde gerne die Tabelle 2 ab der Zeile 3 um die Anzahl der gefüllten Zeilen meines Excel Sheets erweitern sodass ich den Inhalt rein kopieren kann. In Word schaffe ich es per VBA Zeilen hinzuzufügen aber ich weiß nicht wie es von Excel aus in Word geht.
Also das Active habe ich auskommentiert.
Anzeige
AW: VBA Tabelle in Word erweitern
18.06.2020 00:17:40
ralf_b
beispielmappe(n) hochladen. normalerweise kannst du von excel aus die objekte von word verwenden.
alternativ arbeite von word aus. das ist evtl sogar einfacher.
für die kommunikation zwischen word und excel gibt es hier viele viele Beispiele
Danke
18.06.2020 11:44:50
MarC
Ich habs =)
;

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
Anzeige

Infobox / Tutorial

VBA: Tabelle in Word erweitern


Schritt-für-Schritt-Anleitung

Um eine Tabelle in Word über VBA von Excel aus zu erweitern, kannst du folgende Schritte befolgen:

  1. Makro erstellen: Öffne Excel und erstelle ein neues Makro.

  2. Word-Objekt instanziieren: Verwende den folgenden Code, um eine Word-Anwendung zu starten und ein Dokument zu erstellen:

    Sub Makro1()
       Dim appWord As Object
       Dim docTest As Object
       Set appWord = CreateObject("Word.Application")
       Set docTest = appWord.Documents.Add("deineVorlage.docx")
       appWord.Visible = True
  3. Daten von Excel kopieren: Füge den gewünschten Inhalt in die Word-Tabelle ein. Stelle sicher, dass du die richtige Tabelle adressierst:

    docTest.Tables(1).Cell(1, 2).Range = Sheets("deinBlatt").Range("B9")
  4. Tabelle erweitern: Überprüfe, ob du die Tabelle erweitern musst, und füge bei Bedarf neue Zeilen hinzu:

    If Sheets("deinBlatt").Cells("B22") = "Insert new line" And Sheets("deinBlatt").Cells("B22") <> "" Then
       docTest.Tables(2).Rows.Add
    End If
  5. Cleanup: Schließe das Word-Dokument und die Anwendung:

    Set docTest = Nothing
    Set appWord = Nothing
    End Sub

Häufige Fehler und Lösungen

  • Laufzeitfehler 5: Dieser Fehler tritt häufig auf, wenn die Tabelle, auf die zugegriffen wird, nicht existiert. Stelle sicher, dass du die richtige Tabelle in Word adressierst.

  • Tabelle nicht gefunden: Überprüfe, ob die Nummer der Tabelle korrekt ist. Wenn du mehrere Tabellen hast, stelle sicher, dass du die richtige Tabelle (z.B. Tables(2)) verwendest.

  • Aktiviertes Fenster: Wenn das Word-Dokument aktiv ist, kann das den Code beeinflussen. Kommentiere docTest.Activate aus, um zu sehen, ob das Problem dadurch gelöst wird.


Alternative Methoden

Eine alternative Methode besteht darin, direkt von Word aus zu arbeiten. Hierbei kannst du die VBA-Objekte von Excel verwenden, um die Daten zu importieren. Dies kann oft einfacher sein, da du die gesamte Funktionalität von Word zur Verfügung hast.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine Tabelle erweitern kannst:

Sub TabelleErweitern()
    Dim appWord As Object
    Dim docTest As Object
    Set appWord = CreateObject("Word.Application")
    Set docTest = appWord.Documents.Add("deineVorlage.docx")
    appWord.Visible = True

    Dim i As Integer
    For i = 1 To Sheets("deinBlatt").Cells(Rows.Count, 2).End(xlUp).Row
        docTest.Tables(2).Rows.Add
        docTest.Tables(2).Cell(i + 2, 1).Range.Text = Sheets("deinBlatt").Cells(i, 2).Value
    Next i

    Set docTest = Nothing
    Set appWord = Nothing
End Sub

In diesem Beispiel wird die Tabelle in Word um die Anzahl der Zeilen in Excel erweitert.


Tipps für Profis

  • Verwende Fehlerbehandlung: Integriere On Error Resume Next, um Laufzeitfehler elegant zu handhaben.
  • Optimierung der Performance: Setze die Sichtbarkeit der Word-Anwendung erst nach Abschluss der Datenübertragung auf True, um die Performance zu verbessern.
  • Dokumentation: Kommentiere deinen Code gut, damit du später leicht nachvollziehen kannst, was jeder Teil des Codes macht.

FAQ: Häufige Fragen

1. Kann ich auch eine Tabelle in PowerPoint erweitern? Ja, der Prozess ist ähnlich. Du musst jedoch die PowerPoint-Objekte anstelle der Word-Objekte verwenden.

2. Was mache ich, wenn die Tabelle nicht richtig angezeigt wird? Überprüfe die Formatierungen der Zellen in Word. Manchmal kann es helfen, die Tabelle manuell anzupassen oder die Zellengröße zu ändern.

3. Welche Excel-Version benötige ich? Die meisten oben genannten Funktionen sind in Excel 2010 und späteren Versionen verfügbar. Achte darauf, dass deine Word-Version ebenfalls aktuell ist.

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