Excel VBA abfrage?

...komplette Frage anzeigen

4 Antworten

Wenn du es mit VBA lösen musst, würde ich mir das Einfärben von Zellen zunächst mit dem Makrorekorder aufzeichnen und anschließend nur noch die If-Abfragen einbauen.

Hallo,

du willst unter einer Bedingung formatieren. Dazu braucht man in aller Regel kein VBA, sondern kann die Funktion der bedingte Formatierung nutzen.

Da du leider nichts zum Aufbau deiner Tabelle schreibst, kann man natürlich nicht konkret helfen.

LG, Chris

wie groß ist Deine Tabelle? Wenn es nicht allzuviele Zellen sind, geht folgendes Makro:

  • Sub BereichBedingteSchriftfarbe()
  • Dim C
  • For Each c in Range("A1:K200")
  • If isnumeric(c)  then
  • c.Font.colorindex = 3: c.interior.colorindex=8 '8 wäre türkis
  • if C.value > 0,02 And C.calue <= 0,03 then c.Font.colorindex = 4: c.interior.colorindex = 13 'die Teile ab incl. : können auch weggelassen werden
  • end if: next: end sub '13 wäre sehr dunkelmagenta-Hintergrund

Das Makro prüft jede Zelle im Bereich, färbt alle Zahlen zunächst rot und anschließend, wenn sie >2 und <=3 sind, grün.

Texte und leere Zellen werden ignoriert, die Zellen aber abgeprüft (was Zeit kostet), schränke deshalb den Bereich so weit wie möglich ein.

Je nach Gegebenheiten in Deiner Tabelle ließe sich das auch anders machen, zB bei vielen leeren Zellen kann man Zeit gewinnen mit Range("..:..").Specialcells(xlconstants) etc, aber dazu fehlen entsprechende Angaben.

Wenns nicht gehen sollte melde Dich, habe das als Trockenübung erstellt.

Was möchtest Du wissen?