Dieses Tutorial zeigt, wie Sie Zellen mit VBA formatieren.
Zellen formatieren
Es gibt viele Eigenschaften, die für einen (Bereich von) Zellen wie folgt festgelegt werden können:
1234567891011 | Unter SetCellFormat()With Worksheets("Sheet1").Range("B5:C7").HorizontalAlignment = xlHAlignDistributed.AddIndent = True.Font.FontStyle = "Kursiv".NumberFormat = "Allgemein".Innen.Farbe = RGB(128, 100, 250)Ende mitEnd Sub |
Sehen wir sie uns in alphabetischer Reihenfolge an:
AddIndent
Wenn Sie den Wert dieser Eigenschaft auf True setzen, wird der Text automatisch eingerückt, wenn die Textausrichtung in der Zelle entweder horizontal oder vertikal auf gleichmäßige Verteilung eingestellt wird (siehe HorizontalAlignment und VerticalAlignment).
12345 | With Worksheets("Sheet1").Range("A1").Ausrichtung = xlVertikal.VerticalAlignment = xlVAlignDistributed.AddIndent = TrueEnde mit |
Grenzen
Sie können das Rahmenformat einer Zelle festlegen. Weitere Informationen zu Grenzen finden Sie hier.
Als Beispiel können Sie eine rote gestrichelte Linie um Zelle B2 auf Blatt 1 wie folgt setzen:
1 | Worksheets("Sheet1").Range("B2").BorderAround LineStyle:=xlDash, ColorIndex:=3 |
Schriftart
Sie können das Schriftformat der Zelle anpassen, indem Sie den Schriftnamen, den Stil, die Größe, die Farbe, das Hinzufügen von Unterstreichungen und/oder Effekten (durchgestrichen, tiefgestellt oder hochgestellt) festlegen. Weitere Informationen zu Zellenschriftarten finden Sie hier.
Hier sind einige Beispiele:
12345 | Mit Range("A1:C5").Font.Name = "Jahrhundert".FontStyle = "Fett".Durchgestrichen = WahrEnde mit |
FormelVersteckt
Diese Eigenschaft gibt einen Variantenwert zurück oder legt diesen fest, der angibt, ob die Formel ausgeblendet wird, wenn das Arbeitsblatt geschützt ist. Zum Beispiel:
1 | Worksheets("Sheet1").Range("A1:B1").FormulaHidden = True |
HorizontalAusrichtung
Diese Eigenschaftszellenformateigenschaft gibt einen Variantenwert zurück oder legt diesen fest, der die horizontale Ausrichtung für das angegebene Objekt darstellt. Zurückgegebene oder gesetzte Konstanten können sein: xlGeneral, xlCenter, xlDistributed, xlJustify, xlLeft, xlRight, xlFill, xlCenterAcrossSelection. Zum Beispiel:
1 | Worksheets("Sheet1").Range("D3").HorizontalAlignment = xlRight |
Einzugsebene
Es gibt einen ganzzahligen Wert zwischen 0 und 15 zurück oder legt diesen fest, der die Einzugsebene für die Zelle oder den Bereich darstellt.
1 | Worksheets("Sheet1").Range("A1").IndentLevel = 7 |
Innere
Sie können Informationen über das Innere der Zelle festlegen oder zurückgegebene Informationen erhalten: Color, ColorIndex, Pattern, PatternColor, PatternColorIndex, PatternThemeColor, PatternTintAndShade, ThemeColor, TintAndShade, wie folgt:
123 | If Not Range("A1").Interior.ThemeColor = ThemeColorLight2 ThenRange("A1").Interior.Pattern = xlPatternUpEnde Wenn |
Gesperrt
Diese Eigenschaft gibt True zurück, wenn die Zelle oder der Bereich gesperrt ist, False, wenn das Objekt bei geschütztem Blatt geändert werden kann, oder Null, wenn der angegebene Bereich sowohl gesperrte als auch nicht gesperrte Zellen enthält. Es kann auch zum Sperren oder Entsperren von Zellen verwendet werden.
In diesem Beispiel werden die Zellen A1:B2 auf Sheet1 entsperrt, sodass sie geändert werden können, wenn das Blatt geschützt ist.
12 | Worksheets("Sheet1").Range("A1:B2").Locked = FalseWorksheets("Blatt1").Schützen |
Zellen verbinden
Setzen Sie diese Eigenschaft auf True, wenn Sie einen Bereich zusammenführen müssen. Sein Wert wird True, wenn ein angegebener Bereich verbundene Zellen enthält. Wenn Sie beispielsweise den Bereich von C5:D7 zusammenführen müssen, können Sie diesen Code verwenden:
1 | Worksheets("Sheet1").Range("C5:D7").MergeCells = True |
Zahlenformat
Sie können das Zahlenformat innerhalb der Zelle(n) auf Allgemein, Zahl, Währung, Buchhaltung, Datum, Uhrzeit, Prozentsatz, Bruch, Wissenschaftlich, Text, Spezial und Benutzerdefiniert einstellen.
Hier sind die Beispiele für wissenschaftliche und prozentuale Zahlenformate:
12 | Range("A1").NumberFormat = "0.00E+00"Range("B1").NumberFormat = "0,00%" |
NumberFormatLocal
Diese Eigenschaft gibt einen Variantenwert zurück oder legt diesen fest, der den Formatcode für das Objekt als Zeichenfolge in der Sprache des Benutzers darstellt.
Orientierung
Mit dieser Eigenschaft können Sie die Textausrichtung innerhalb der Zelle(n) festlegen (oder zurückgeben). Sein Wert kann eine dieser Konstanten sein: xlDownward, xlHorizontal, xlUpward, xlVertical oder ein ganzzahliger Wert von -90 bis 90 Grad.
1 | Worksheets("Sheet1").Range("A1").Orientation = -60 |
Elternteil
Dies ist eine schreibgeschützte Eigenschaft, die das übergeordnete Objekt eines angegebenen Objekts zurückgibt.
Schrumpfen bis es passt
Diese Eigenschaft gibt einen Variantenwert zurück oder legt diesen fest, der angibt, ob Text automatisch verkleinert wird, damit er in die verfügbare Spaltenbreite passt.
1 | Worksheets("Sheet1").Range("A1").ShrinkToFit = True |
Vertikale Ausrichtung
Diese Eigenschaftszellenformateigenschaft gibt einen Variantenwert zurück oder legt diesen fest, der die vertikale Ausrichtung für das angegebene Objekt darstellt. Zurückgegebene oder festgelegte Konstanten können sein: xlCenter, xlDistributed, xlJustify, xlBottom, xlTop. Zum Beispiel:
1 | Worksheets("Sheet1").Range("A1").VerticalAlignment = xlTop |
Zeilenumbruch
Diese Eigenschaft gibt True zurück, wenn Text in alle Zellen innerhalb des angegebenen Bereichs umbrochen wird, False, wenn Text nicht in alle Zellen innerhalb des angegebenen Bereichs umbrochen wird, oder Null, wenn der angegebene Bereich einige Zellen enthält, die Text umbrechen, und andere Zellen, die dies nicht tun.
Wenn Sie beispielsweise über diesen Zellbereich verfügen:
dieser Code unten gibt Null im Direktfenster zurück:
1 | ?Worksheets("Sheet1").Range("A1:B1").WrapText |