Excel VBA – Spalten formatieren

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem Beitrag zeige ich Ihnen wie Sie die Formatierung von Spalten anpassen können. In der folgenden Tabelle sind Menge und Umsatz abgebildet. Wir wollen bei der Menge keine Nachkommastellen haben. Umsatz dagegen soll zwei Nachkommastellen bekommen. Beide sollen einen Tausenderpunkt bekommen.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Spalten über VBA formatieren

Wenn Sie eine statische Tabelle haben, können Sie die einzelnen Spalten direkt addressieren und über die Eigenschaft NumberFormat das Format anpassen. Beachten Sie dabei, dass in VBA die englische Syntax gilt. Komma würde bei uns Punkt bedeuten und umgekehrt. (en 1,000.00 = de 1.000,00) Wenn Sie zum Beispiel Spalten B bis C einheitlich formatieren wollen können Sie das folgende Makro verwenden.

Sub SpaltenFormatieren()

Tabelle1.Columns("B:C").NumberFormat = "#,##0.00"

End Sub

Beispiel formatierte Spalten

In unserem Beispiel können wir auch die Spalten differenzieren.

Sub SpaltenFormatieren()

Tabelle1.Columns("B:B").NumberFormat = "#,##0"
Tabelle1.Columns("C:C").NumberFormat = "#,##0.00"

End Sub

Einzelne Spalten mit VBA formatieren


Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Was passiert aber, wenn neue Spalten hinzugefügt werden und die Position von Umsatz bzw. Menge sich ändert?
In diesem Fall können wir eine Schleife aufsetzen. Zuerst definieren wir eine Spalten-Variable für die Schleife. Als nächstes geben wir an mit welcher Tabelle wir arbeiten wollen. In dieser Tabelle sollen von der ersten Spalte an alle verwendeten Spalten abgearbeitet werden.

Sub SpaltenFormatierenSchleife()
Dim Spalte As Integer

With Tabelle1

For Spalte = 1 To .UsedRange.Columns.Count

Next Spalte
End With
End Sub

Innerhalb der Schleife prüfen wir die Überschrift der jeweiligen Spalte und formatieren diese dementsprechend.

Sub SpaltenFormatierenSchleife()
Dim Spalte As Integer

With Tabelle1

For Spalte = 1 To .UsedRange.Columns.Count

If .Cells(1, Spalte).Value = "Menge" Then
.Columns(Spalte).NumberFormat = "#,##0"
ElseIf .Cells(1, Spalte).Value = "Umsatz" Then
.Columns(Spalte).NumberFormat = "#,##0.00"
End If

Next Spalte
End With
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.