Bedingte Formatierung mit VBA

Bedingte Formatierung mit VBA

Ein wiederkehrendes Thema bei Controllern, die mit SAP Reportings arbeiten – egal ob ERP Tabellenexporte oder wie ich mit BW oder Analysis für Office ist die Formatierung der Tabellen. 

Während ich eigentlich nicht gerne Flat Files liefere, lechzen die Endkunden nach schönen Farben. Hier habe ich für unsere Abteilung eigentlich mit einem eigenen Ribbon schöne Farbsets aufgrund unseres CD erstellt. Wenn die Tabellen jedoch regelmässig erstellt werden arbeite ich sehr gerne mit bedingten Formatierungen, damit sie immer gleich aussehen. 

Ein einfacher Code für bedingte Formatierungen:

Hier einige Erklärungen zu den Befehlen:

  • In Zeile 3 lösche ich sämtliche enthalten bedingten Formatierungen. Eine Krankheit von Excel mit bedingten Formatierungen ist, dass nach längerem Gebrauch ein Chaos herrscht. Diese machen sich mit Copy und Paste und beim Bearbeiten der Dateien ’selbstständig‘. Ich habe schon Files mit 1000 Einträgen mit bedingten Formatierungen gesehen. MIt einer Codezeile löscht man die alle…
  • In Zeile 5 markiere ich den Bereich, wo ich die bedingten Formatierungen erstelle. In Zeile 17 weite ich diese dann aus (ModifyApplies to Range). Man könnte natürlich schon in Zeile 3 alles markieren. Ist hier nur so dargestellt, damit auch die nachträgliche Änderung bekannt ist.
  • Mit dem restlichen Code sage ich dann: Wenn es in der Spalte E einen Wert hat, dann mache die Spalten E bis N fett und gelb hinterlegt. Die Grenzen sind endlos….
  • Wenn ich bedingten Formatierungen arbeite, dann verwende ich meistens die Formelfunktion. Wenn eine Bedingung erfüllt ist (WAHR), dann formatiere.  Es gibt auch viele andere Möglichkeiten. Probiere es aus. 
Dieser Beitrag wurde unter Excel VBA veröffentlicht. Setze ein Lesezeichen auf den Permalink.

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.