Excel VBA – Mehrere Bereiche vereinen und alle Zellen formatieren

Excel VBA – Mehrere Bereiche vereinen und alle Zellen formatieren
5 Sterne
7 Bewertungen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

Hallo, heute zeige ich Ihnen wie Sie mehrere getrennte Bereiche vereinen und mithilfe einer Schleife bearbeiten können.
Unsere Ausgangstabelle sieht wie folgt aus.

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.

Mehrere Bereiche Joinen
Wir wollen nun alle Zellen, die einen Wert größer als 100 enthalten, rot markieren.
Zunächst definieren wir je eine Variable für einen Bereich. Diese wollen wir in einen Gesamtbereich zusammenfügen. Daher benötigen wir eine weitere Variable.

Sub BereicheZusammenfuegen()
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim GesamtBereich As Range

End Sub

Als nächstes bestimmen wir wo genau die einzelnen Bereiche liegen.

Set Bereich1 = Tabelle1.Range("A1:D2")
Set Bereich2 = Tabelle1.Range("A5:D6")

Diese fügen wir über die Funktion Union zu einem Gesamtbereich zusammen.

Set GesamtBereich = Union(Bereich1, Bereich2)

Nun können wir unsere Schleife schreiben um alle Zellen in dem Bereich zu durchlaufen. Dazu müssen wir eine Variable für die Zelle festlegen.

Dim Zelle As Range

Als nächstes schreiben wir unsere Schleife.

For Each Zelle In GesamtBereich

Next Zelle

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.

Innerhalb der Schleife prüfen wir ob der jeweilige Wert über 100 liegt. Wenn diese Bedingung zutrifft wird der Hintergrund über das Objekt Interior (Hintergrund der Zelle) und die Eigenschaft ColorIndex rot eingefärbt. Ansonsten wird die eventuell vorhandene Hintergrundfarbe entfernt.

For Each Zelle In GesamtBereich
If Zelle.Value > 100 Then
Zelle.Interior.ColorIndex = 3
Else
Zelle.Interior.ColorIndex = xlColorIndexNone
End If
Next Zelle

Das Ergebnis sieht so aus:
Zellen eingefärbt

Anbei der gesamte Code

Sub BereicheZusammenfuegen()
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim GesamtBereich As Range
Dim Zelle As Range

Set Bereich1 = Tabelle1.Range("A1:D2")
Set Bereich2 = Tabelle1.Range("A5:D6")
Set GesamtBereich = Union(Bereich1, Bereich2)

For Each Zelle In GesamtBereich
If Zelle.Value > 100 Then
Zelle.Interior.ColorIndex = 3
Else
Zelle.Interior.ColorIndex = xlColorIndexNone
End If
Next Zelle

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.

Denis Reis ist Business Intelligence Consultant und gibt als Buchautor sein Wissen rund um den SAP Projektalltag weiter. Wenn Sie tatkräftige Unterstützung bei Ihren SAP BI Projekten benötigen, können Sie ihn über Xing, LinkedIn oder Facebook kontaktieren.
Des Weiteren unterrichtet er Projektmanagement und Controlling an der Wiesbaden Business School. Der aus Düsseldorf stammende Familienmensch zählt zu denjenigen, die auf komplizierte Darstellungen verzichten und das Ganze auf den Punkt bringen.

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Kommentar verfassen