Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

mit VBA Zellen farbig hinterlegen

mit VBA Zellen farbig hinterlegen
23.01.2013 16:48:13
Dominic
Hi,
wie kann ich mit VBA anhand zweier definierter variabler Kriterien bestimmte Zellbereiche mit einer Farbe hinterlegen? Hellrot und Hellgrün werden benötigt.
Zweitens - die wichtigste Frage dazu, wie kann ich diese der bedingten Formatierung ähnlichen Formel auf einen großen Zellbereich möglichst einfach übertragen.
In C37:O39 sind Währungsbeträge angegeben, diese sollen wenn der Wert kleiner als der Wert der in C24 eingetragen werden kann hellrot hinterlegt werden, bei größer als Wert der in D24 eingetragen werden kann hellgrün.
In C40:O40 sind Prozentwerte hinterlegt. Hier sollen diese hellrot hinterlegt werden wenn kleiner als der Wert der in C25 eingetragen werden kann, und hellgrün wenn er größer/gleich dem Wert ist, der in D25 eingetragen werden kann.
In C41-O41 sind wieder Eurowerte hinterlegt. Same Procedure wie in C37:O39.
Danach die Zeile 42 ist leer und dann beginnt das gleiche Spiel vom neuen. Heißt
in C43-O45 Währungsbeträge, in C46-O46 sind es wieder Prozentwerte und in C47-O47 wieder Währungsbeträge.
Zeile 48 ist wieder leer. Das ganze geht so weiter bis Zeile 2004.
Kann ich diese Formel bzw. den VBA Code auch so anpassen, dass die Zeilen die die Währungsangaben beinhalten im Währungsformat mit € Zeichen formatiert werden, und die Prozentzeilen selbstverständlich in % Formatierung?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Zellen farbig hinterlegen
23.01.2013 17:35:38
Beverly
Hi Dominic,
weshalb willst du das denn per VBA lösen - dafür ist doch die bedinte Formatierung da.


AW: mit VBA Zellen farbig hinterlegen
24.01.2013 10:31:50
Dominic
Hi,
aber ich möchte doch nicht jede Zeile manuell markieren - bis Zeile 2004! Da sitze ich morgen noch am Rechner ;-). Denn ich kann wie oben beschrieben nicht den vollständigen Bereich markieren, da immer dazwischen eine Zeile steht die Prozentwerte anzeigt. Ich muss das zwar nur einmalig einrichten, aber das ist mir so zu aufwändig.
Außerdem habe ich bei der bedingten Formatierung festgestellt, dass es zumindest mit der Zellformatierung auf "Währung" oder "Prozent" nicht immer einwandfrei funktioniert / automatisch wechselt je nachdem welcher Wert in B2 eingetragen wird. Bei VBA funktioniert diese Formatierung einwandfrei, da ich den VBA Code auf mein Formularsteuerlement gelegt habe, und dann automatisch jedesmal die Anpassung erfolgt.

Anzeige
AW: mit VBA Zellen farbig hinterlegen
24.01.2013 16:05:57
Dominic
Hi,
und kann mir vielleicht schon jemand weiterhelfen?
Vielen Dank im Voraus!

AW: mit VBA Zellen farbig hinterlegen
24.01.2013 17:07:06
Daniel
Hi
probier mal folgendes:
1. Markiere die Zellen C37 bis O2004 (also deinen Zellbereich)
2. vergib für die Formatierung "hellrot" ein bedingts Format mit folgender Regel:
=Und(C37<>"";C37<Wahl(Rest(Zeile();6)+1;$A$1;$C$24;$C$24;$C$24;$C$25;$C$24))
3. für hellgrün dann eben analog mit D24 und D25
das mit Prozent- und Währungsformat könntest du über ein benutzerdefinertes Zahlenformat lösen (vorausgetzt, du gibst dich nicht mit Centbeträgen ab):
markiere alle Zellen und vergib folgendes benutzerdefiniertes Zahlenformat:
[<=1]0%;0,00
In der Eckigen Klammer steht die Bedingung, danach folgt das Zahlenformat für diese Bedingung.
das Zahlenformat ohne bedingung gilt dann für den Rest.
Damit werden Werte kleiner gleich 1 als Prozent und alle Werte grösser 1 als Währung formatiert.
funktioniert natürlich nur, wenn Prozentwerte und Währungsbeträge sich nicht überschneiden.
ansonsten würde ich so vorgehen:
1. alle Zelle als Währung formatieren
2. in eine Hilfsspalte die Formel: =Rest(Zeile();6) eintragen
3. Hilfsspalte nach der Zahl 4 Filteren, dann sollen nur die Zeilen mit den Prozentwerten sichtbar sein, falls nicht, andere Zahl wählen
4. für diese Zellen das Format Prozent einstellen. In gefilterten Tabellen werden nur die sichtbaren Zeilen bearbeitet.
Gruß Daniel

Anzeige
AW: mit VBA Zellen farbig hinterlegen
24.01.2013 17:56:19
Beverly
Hi Dominic,
vom Prinzip her kannst du es mit folgendem Code versuchen:
Sub Formatieren()
Dim rngZelle As Range
' Währung
For Each rngZelle In Union(Range("C37:O39"), Range("C41:O41"), Range("C43:O45"))
If rngZelle.Value  Range("D24") Then
rngZelle.Interior.ColorIndex = 4
End If
Next rngZelle
' Prozent
For Each rngZelle In Union(Range("C40:O40"), Range("C43:O45"), Range("C46:O46"))
If rngZelle.Value = Range("D25") Then
rngZelle.Interior.ColorIndex = 4
End If
Next rngZelle
End Sub
In die Union musst du alle die Bereiche erweitern mittels Range(....) eintragen, in denen die entsprechenden Bedingungen zutreffen sollen.


Anzeige

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige