Die Formatierung von Zellen ist mit Hilfe von VBA-Makros ebenso leicht durchzuführen, wie mit Excel selbst.
Am nachfolgenden Beispiel wird erklärt, wie definierte Zellen mit einem Befehl formatiert werden.
Anforderung
- Formatierung, die durch den Standard-Excel Benutzer nicht geändert werden kann, also sehr schnell wieder hergestellt werden kann.
- Immer drei nebeneinanderliegende Zellen sollen mit einer unterschiedlichen Hintergrundfarbe formatiert werden.
Beispiel
Das Beispiel baut teilweise auf auf.
Im Screenshot ist die Zeile, die mit dem Makro benannt werden soll farblich hervorgehoben.
In diesem Beispiel wird die neue Benennung der Zellen aufgegriffen, deren Vorteile die bereits im Artikel ausführlich erläutert wurde.
Code: Orange Formatierung
Private Sub KapFarben_orange()
' Formatiert die Zellen: Hintergrund, Schriftfarbe, fett
Range("Kap_7_3:Kap_7_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_5_3:Kap_5_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_3_3:Kap_3_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_1_3:Kap_1_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Die einzelnen Punkt der Formatierung sind ab Besten mit dem Makro-Rekorder aufzuzeichnen und dann anzupassen. Eine manuelle Eingabe ist hier wenig sinnvoll.
Der Code ist in 4 Teile getrennt.
- Range(„Kap_7_3:Kap_7_1“)
- Range(„Kap_5_3:Kap_5_1“)
- Range(„Kap_3_3:Kap_3_1“)
- Range(„Kap_1_3:Kap_1_1“)
Das bedeutet nicht anderes als die Zusammenfassung der Bereichen Kap_7_3, Kap_7_2, Kap_7_1 zu („Kap_7_3:Kap_7_1“) usw. Grundlage bildet die Benennung der Zellen von C7 zu Kap_7_3.
Die nachfolgenden Abschnitte sind identisch, da die gleiche Formatierung für alle 4 Bereiche gleich sein soll, deshalb sind sie einfach zu kopieren. Die Range ist aber abzuändern.
Nach dem fertigstellen der Makros kann es mit F5 ausgeführt werden. Die Zellen sollten sich dann automatisch formatieren.
Für die blau eingefärbten Zellen ist analog zu verfahren.
➡ Makro-Rekorder
➡ Code anpassen
Verknüpfung
Im Artikel wurde beschrieben, wie die Zellen mit Hilfe eines VBA.Makros beschrieben werden können. Es bietet sich nun an, beide Makros zu verknüpfen. Beide lassen sich sehr leicht verknüpfen. Die Reihenfolge im nachfolgenden Code ist
- Beschriftung
- Formatierung
Code
Option Explicit
Sub KapBennennung()
Dim strRegal7 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal7 = "Regal 7"
Dim strRegal6 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal6 = "Regal 6"
Dim strRegal5 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal5 = "Regal 5"
Dim strRegal4 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal4 = "Regal 4"
Dim strRegal3 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal3 = "Regal 3"
Dim strRegal2 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal2 = "Regal 2"
Dim strRegal1 As String ' Zur Beschriftung der Zellen mit Regal X
strRegal1 = "Regal 1"
Dim strNum1 As String ' Zur Beschriftung der Zellen mit -1
strNum1 = "-1"
Dim strNum2 As String ' Zur Beschriftung der Zellen mit -2
strNum2 = "-2"
Dim strNum3 As String ' Zur Beschriftung der Zellen mit -3
strNum3 = "-3"
Sheets("Kapazitaet").Select
Range("Kap_7_3").Value = strRegal7 & strNum3 ' Beschriftet die Zelle Kap_7_3 --> Regal 7-3
Range("Kap_7_2").Value = strRegal7 & strNum2 ' Beschriftet die Zelle Kap_7_2 --> Regal 7-2
Range("Kap_7_1").Value = strRegal7 & strNum1 ' Beschriftet die Zelle Kap_7_1 --> Regal 7-1
Range("Kap_6_3").Value = strRegal6 & strNum3
Range("Kap_6_2").Value = strRegal6 & strNum2
Range("Kap_6_1").Value = strRegal6 & strNum1
Range("Kap_5_3").Value = strRegal5 & strNum3
Range("Kap_5_2").Value = strRegal5 & strNum2
Range("Kap_5_1").Value = strRegal5 & strNum1
Range("Kap_4_3").Value = strRegal4 & strNum3
Range("Kap_4_2").Value = strRegal4 & strNum2
Range("Kap_4_1").Value = strRegal4 & strNum1
Range("Kap_3_3").Value = strRegal3 & strNum3
Range("Kap_3_2").Value = strRegal3 & strNum2
Range("Kap_3_1").Value = strRegal3 & strNum1
Range("Kap_2_3").Value = strRegal2 & strNum3
Range("Kap_2_2").Value = strRegal2 & strNum2
Range("Kap_2_1").Value = strRegal2 & strNum1
Range("Kap_1_3").Value = strRegal1 & strNum3
Range("Kap_1_2").Value = strRegal1 & strNum2
Range("Kap_1_1").Value = strRegal1 & strNum1
Call KapFarben_orange
Call KapFarben_blau
Range("A1").Select
End Sub
Private Sub KapFarben_orange() ' Formatiert die Zellen: Hintergrund, Schriftfarbe, fett
Range("Kap_7_3:Kap_7_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_5_3:Kap_5_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_3_3:Kap_3_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_1_3:Kap_1_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = 45
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
End Sub
Private Sub KapFarben_blau() ' Formatiert die Zellen: Hintergrund, Schriftfarbe, fett
Range("Kap_6_3:Kap_6_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_4_3:Kap_4_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_2_3:Kap_2_1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
Range("Kap_Summe").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.ColorIndex = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
Selection.Font.Bold = True
End With
End Sub
Mittels Call-Befehl werden die Formatierungsmakros KapFarben_orange und KapFarben_blau zusammen aufgerufen, danach wird der Cursor auf die Zelle A1 gesetzt.