VBA – Word: Zellenhintergrund von markierten Tabellenzellen färben

Beschreibung

Bei der Tabellenformatierung muss ich die Zellenhintergrundfarbe einzelner Zellen häufig ändern. Da die Farben fest sind, hilft mir das folgende Makro die Arbeit zu beschleunigen.

Das folgende Makro ändern die Zellenhintergrundfarbe aller markierter Zellen in grau und falls diese schon grau sind wird die Zellenhintergrundfarbe wieder entfernt.

Sourcecode

Public Sub ZellenhintergrundGrau()
    'Bei Fehlern wird zur Sprungmarke NoDocumentOpen gesprungen und damit die Funktion beendet.
    On Error GoTo NoDocumentOpen

    ' Falls keine Datei geöffnet ist, wird zur Sprungmarke NoDocumentOpen gesprungen und damit die Funktion beendet. Die Prüfung, ob eine Datei geöffnet ist, wird über die Länge des Dateinamens des aktiven Dokuments durchgeführt.
    If Len(ActiveDocument.Name) = 0 Then GoTo NoDocumentOpen

    With Selection.Cells.Shading
        If .Texture = wdTexture15Percent Then
            ' Falls die Zelle bereits grau ist, Hintergrundfarbe entfernen, ...
            .Texture = wdTextureNone
        Else
            ' ... andernfalls Hintergrundfarbe der Zelle auf grau ändern
            .Texture = wdTexture15Percent
            ' evtl. vorhandene Füllmuster werden entfernt
            .BackgroundPatternColor = wdColorAutomatic
        End If
    End With

NoDocumentOpen:
End Sub