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

Forumthread: Word Tabelle durch Excel ansprechen

Word Tabelle durch Excel ansprechen
24.06.2019 16:47:36
Jakob
Hallo zusammen,
Ich würde gerne aus Excel mit VBA eine Tabellenzelle in einer Wordtabelle ansprechen und diese Einfärben?
Das Word Dokument wird schon erstellt und geöffnet mit einer Vorlage über das Excel VBA
Hat jemand eine Idee wie das funktionieren könnte?
Ich bekomme es leider nicht hin
Vielen Dank für die Hilfe
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Tabelle durch Excel ansprechen
24.06.2019 21:01:31
Regina
Hallo versuchs mal so:
DeinWordObjekt.ActiveDocument.Tables(1).Cell(2, 1).Shading.BackgroundPatternColor = wdColorRed
bei Tabels musst Du den Index deiner Tabelle angeben, Cell will erst die Zeile und dann die Spalte haben.
Gruß
Regina
AW: Word Tabelle durch Excel ansprechen
25.06.2019 08:41:18
Jakob
Hallo Regina,
Danke für die Antwort! Das habe ich schon versucht und es hat leider nicht funktioniert
Da ich es in Excel VBA Schreibe, funktioniert ActiveDocument doch gar nicht oder?
Gibt es noch andere ideen?
Vielen Dank für die Hilfe
Anzeige
AW: Word Tabelle durch Excel ansprechen
25.06.2019 10:48:36
Regina
Das funktioniert schon, wenn Du dei Word-Library unter Extras, Verweise einbindest. Wie greifst Du den auf das Word-Dokumentzu? Poste mal Deinen Code.
Gruß
Regina
AW: Word Tabelle durch Excel ansprechen
25.06.2019 11:12:05
Jakob
Sub Checklist_erstellen()
Dim Checklist As Object 'Speicherort der TextDatei
Dim appWord2 As Object 'Schleifenvariable
Set appWord2 = CreateObject("Word.Application")
Set Checklist = appWord2.Documents.Add(ThisWorkbook.Path & "\2019-xx-xx_Checklist.doc")
appWord2.Visible = True
With Checklist.Activate
Checklist.Bookmarks("Title").Range.Text = ThisWorkbook.Worksheets("Eingabe").Range("Title")
Checklist.Bookmarks("ID").Range.Text = ThisWorkbook.Worksheets("Eingabe").Range("ID_Checklist")
If ThisWorkbook.Worksheets("Eingabe").Range("Status").Value Like "*200*" Then
Checklist.CheckBox2.Value = True
End If
If ThisWorkbook.Worksheets("Eingabe").Range("Status").Value Like "*280*" Then
Checklist.CheckBox1.Value = True
End If
Und dann will ich noch die Farbe der ersten Zelle in einer Tabelle in dem Word Dokument ändern, wenn ein bestimmter Wert in dem Status steht
Anzeige
AW: Word Tabelle durch Excel ansprechen
25.06.2019 12:01:28
Regina
Ok, dann hast Du mit Checklist dein ActiveDocument. Wie weit funktioniert der Code denn und wie hast Du bisher versucht das Färben der Tabellenzelle hinzubekommen. Lade sonst auch mal das Worddokument hoch.
Gruß
Regina
AW: Word Tabelle durch Excel ansprechen
25.06.2019 12:59:49
Jakob
Hallo Regina es hat funktioniert mit:
Checklist.Tables(2).Cell(1, 1).Shading.BackgroundPatternColor = wdColorGray25
leider wird es aber schwarz mit weißer schrift und nicht grau bzw. Rot, wenn ich wdColorRed eingebe
hast du ne idee, wieso, dass so ist?
Viele Grüße und danke
Anzeige
AW: Word Tabelle durch Excel ansprechen
25.06.2019 13:12:20
Regina
Hallo,
ich vermute, dass dei Tabelle bereits mit einer Tabellenformatvorlage versehen ist. Klick mal in die Tabelle und gehe im menüband ganz hinten unter "Tabellentools" auf den Reiter "Entwurf". Weise deiner tabelle bei den Tabellenformatvorlagen mal das alle erste Format (heißt in meiner Version "Tabellenraster") zu und lass dann den Code nochmal laufen. Formatvorlagen haben manchmal merkwürdige "Nebenwirkungen".
Gruß
Regina
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Word Tabelle durch Excel ansprechen


Schritt-für-Schritt-Anleitung

  1. Word-Bibliothek einbinden: Stelle sicher, dass du die Word-Bibliothek in Excel VBA unter Extras > Verweise eingebunden hast. Dadurch wird es einfacher, mit Word-Objekten zu arbeiten.

  2. Word-Anwendung erstellen: Erstelle ein neues Word-Objekt in deinem Excel VBA-Code:

    Dim appWord As Object
    Set appWord = CreateObject("Word.Application")
  3. Dokument erstellen und öffnen: Füge dein Word-Dokument hinzu:

    Dim checklist As Object
    Set checklist = appWord.Documents.Add("Pfad\zu\deiner\Vorlage.docx")
    appWord.Visible = True
  4. Zelle ansprechen und einfärben: Um eine bestimmte Zelle in einer Tabelle zu einfärben, benutze folgenden Code. Hierbei ist Cell(Zeile, Spalte) wichtig:

    checklist.Tables(1).Cell(2, 1).Shading.BackgroundPatternColor = wdColorRed
  5. Tabelle formatieren: Wenn du mehrere Tabellen gleich formatieren möchtest, kannst du eine Schleife verwenden, um jede Tabelle zu durchlaufen:

    Dim t As Integer
    For t = 1 To checklist.Tables.Count
       checklist.Tables(t).Cell(1, 1).Shading.BackgroundPatternColor = wdColorGray25
    Next t

Häufige Fehler und Lösungen

  • Fehler bei der Zellenansprache: Wenn du eine Fehlermeldung erhältst, dass die Zelle nicht gefunden werden kann, überprüfe den Index deiner Tabelle. Der Index beginnt bei 1, also stelle sicher, dass du die richtige Tabelle ansprichst.

  • Farbe wird nicht richtig angezeigt: Wenn die Zelle schwarz mit weißer Schrift erscheint, könnte dies an einer bereits verwendeten Tabellenformatvorlage liegen. Wähle eine einfache Formatvorlage (z.B. "Tabellenraster") aus und probiere es erneut.


Alternative Methoden

Wenn du Schwierigkeiten hast, eine Word-Tabelle direkt aus Excel zu steuern, kannst du auch die Tabelle in Excel erstellen und anschließend die Excel-Tabelle in Word umwandeln. Dafür kannst du den Befehl Word.ActiveDocument.Content.Paste verwenden, nachdem du die Tabelle kopiert hast.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine Word-Tabelle mit einem Datum fortlaufend aktualisieren kannst:

Dim i As Integer
For i = 1 To 10
    checklist.Tables(1).Cell(i, 1).Range.Text = Date + i
Next i

Das obige Beispiel fügt in der ersten Spalte der ersten Tabelle fortlaufende Daten ein.


Tipps für Profis

  • Tabellen trennen: Um mehrere Tabellen in Word zu trennen oder zu bearbeiten, kannst du die Methode Tables verwenden, um gezielt auf die Tabellen zuzugreifen und diese nach Bedarf zu bearbeiten.

  • Dynamische Zellenansprache: Wenn du dynamisch auf Zellen zugreifen möchtest, überlege, Variablen für die Zeilen- und Spaltenindizes zu verwenden. So kannst du den Code flexibler gestalten.


FAQ: Häufige Fragen

1. Wie kann ich eine bestimmte Zeile in einer Word-Tabelle ansprechen?
Du kannst die Zeile ansprechen, indem du den Befehl Checklist.Tables(1).Rows(Zeilennummer).Cells(Spaltennummer).Shading.BackgroundPatternColor = wdColorRed verwendest.

2. Was kann ich tun, wenn die Word-Tabelle nicht aktualisiert wird?
Stelle sicher, dass du das Word-Dokument korrekt referenzierst und dass keine Formatvorlagen die Darstellung der Tabelle beeinflussen.

3. Ist es möglich, eine Excel-Tabelle in Word zu importieren?
Ja, du kannst eine Excel-Tabelle kopieren und in Word einfügen. Verwende dazu Word.ActiveDocument.Content.Paste.

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