Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Word: Mehrere Tabellen ansprechen


Betrifft: Word: Mehrere Tabellen ansprechen von: Jan
Geschrieben am: 16.10.2019 12:48:26

Mahlzeit liebe VBA-Gemeinde,

ich weiß, dass das hier ein Excel-Forum ist, aber vielleicht kann mir hier trotzdem jemand helfen, mein Problem zu lösen.

Ich habe in einem Word Dokument mehrere Tabellen (die ich individuell aussuche), die ich mit einem Makro ansprechen will, um dann jeweils die letzte Spalte auszublenden.
Eine Tabelle kann ich mit einem Makro problemlos erreichen, indem ich der Tabelle einen Titel gegeben habe und diese damit ansprechen kann.

Code:

Sub Test()

Dim i As Integer
Dim treffer As Boolean
Dim meineTabelle As Table

With ActiveDocument

    'Tabelle mit dem gewünschten Titel suchen
    For i = 1 To .Tables.Count
        If .Tables(i).Title = "Projektdaten" Then
           Set meineTabelle = .Tables(i)
           treffer = True
           Exit For
        End If
    Next i
End With
    'Fehlerbehandlung
    If treffer = False Then
        MsgBox "Keine Tabelle mit diesem Titel gefunden."
        Exit Sub
    End If

'ausgewählte Spalte ausblenden

With meineTabelle
   .Columns(5).Select
   Selection.Font.ColorIndex = wdWhite
End With

End Sub


Wie kann ich jetzt mehrere Tabellen ansprechen ohne dabei jedes mal einen neuen Code schreiben zu müssen?
Eine einfache Verknüpfung mit "and" oder "&" funktioniert leider nicht

In dem Beispiel befinden sich jetzt nur 2 Tabellen, aber in der Realität gibt es mehrere Tabelle, die angesprochen werden sollen.

https://www.herber.de/bbs/user/132553.doc

eine .docm kann ich leider nicht hochladen

Vielen Dank im Voraus

VG aus Franken
Jan

  

Betrifft: AW: Word: Mehrere Tabellen ansprechen von: ChrisL
Geschrieben am: 16.10.2019 14:14:08

Hi Jan

Verstehe, Word-Foren sind fast so selten Berggorillas (weniger als 1'000)

Sub Makro1()
Call Test("Projektdaten")
Call Test("Normen")
End Sub
Sub Test(strTitel As String)
Dim i As Integer
Dim treffer As Boolean
Dim meineTabelle As Table

With ActiveDocument

    'Tabelle mit dem gewünschten Titel suchen
    For i = 1 To .Tables.Count
        If .Tables(i).Title = strTitel Then
           Set meineTabelle = .Tables(i)
           treffer = True
           Exit For
        End If
    Next i
End With

'Fehlerbehandlung
If treffer = False Then
    MsgBox "Keine Tabelle mit dem Titel " & strTitel & " gefunden."
    Exit Sub
End If

'ausgewählte Spalte ausblenden
With meineTabelle
   .Columns(5).Select
   Selection.Font.ColorIndex = wdWhite
End With
End Sub


cu
Chris


Beiträge aus dem Excel-Forum zum Thema "Word: Mehrere Tabellen ansprechen"