Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
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

Excel: Bedingte Formatierung per VBA

Excel: Bedingte Formatierung per VBA
28.09.2016 10:43:19
Nik
Hallo zusammmen,
ich habe eine Exceltabelle in die ich per VBA 4 Bedingungen / Formeln einfügen möchte. Das Problem ist, dass ich das per Makrorekorder versucht habe aufzuzeichnen, das aber irgendwie nicht hinhaut. Der hat mir einfach nichts aufgenommen.
Vielleicht könnt ihr mir helfen:
Die Formeln sollen angewendet werden auf den Bereich von Zelle F2:F9999
Hier die Fälle:
1.
=WENN(ODER(F2="AZ";);1;)
-> Dann ausfüllen mit Farbe WEIß
2.
=WENN(ODER(F2="AS";F2="BH";F2="BM";F2="BO";F2="BP";F2="EI";F2="EP";F2="EX";F2="IA";F2="IC";F2="KA"; F2="KB";F2="KP";F2="KS";F2="PC";F2="PO";F2="R1";F2="RP";F2="RU";F2="SZ";F2="T1";F2="T2";F2="ZA"; F2="ZC";);1;)
-> Dann ausfüllen mit Farbe GRÜN
3.
=WENN(ODER(F2="FA";F2="FC";F2="FD";F2="FF";F2="HB";F2="KC";F2="KD";F2="KE";F2="KF";F2="KG";F2="KH"; F2="KJ";F2="KK";F2="KM";F2="TE";F2="TG";F2="TS";F2="WE";F2="WF");1;)
-> Dann ausfüllen mit Farbe BLAU
4.
=WENN(ODER(F2="03";F2="12";F2="13";F2="14";F2="15";F2="25";F2="27";F2="28";F2="2E";F2="2M";F2="2N"; F2="2S";F2="30";F2="31";F2="39";F2="4E";F2="4J";F2="4M";F2="61";F2="64";F2="6L";F2="83";F2="84"; F2="86";F2="B1";F2="B2";F2="B5";F2="B7";F2="B9";F2="BE");1;)
-> Dann ausfüllen mit Farbe BLAU
5.
=WENN(ODER(F2="40";F2="AR";F2="B1";F2="BA";F2="BE";F2="BG";F2="BJ";F2="C1";F2="C2";F2="CC";F2="CI"; F2="CK";F2="CM";F2="DH";F2="DX";F2="EC";F2="EE";F2="FF";F2="FL";F2="FW";F2="G1";F2="JM";F2="LD"; F2="MX";F2="O1";F2="O2";F2="OR";F2="RA";F2="RO";F2="SH";F2="SL";F2="VM";F2="VV";F2="WE");1;)
-> Dann ausfüllen mit Farbe BLAU
6.
=WENN(ODER(F2="BI";F2="BN";F2="BT";F2="BU";F2="BY";F2="CP";F2="CT";F2="CW";F2="D1";F2="GN";F2="GU"; F2="HC";F2="HM";F2="";F2="IH";F2="IP";F2="IT";F2="TH";F2="TI";F2="TN";F2="TP";F2="UP";F2="UZ";F2="G"; F2="H";F2="J";F2="L";F2="N";F2="Q");1;)
-> Dann ausfüllen mit Farbe GELB

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel: Bedingte Formatierung per VBA
28.09.2016 11:14:08
Werner
Hallo Nik,
zunächst mal nicht zu deinem Problem sondern ein Hinweis zu deinem Formelmonster.
=WENN(ODER(F2={"AS"."BH"."BM"."BO"."BP"."EI"."EP"."EX"."IA"."IC"."KA"."KB"."KP"."KS"."PC"."PO"."R1"."RP"."RU"."SZ"."T1"."T2"."ZA"."ZC"}) ;1;)
Sollte man aber bei Excel gut wissen.
Gruß Werner
AW: Excel: Bedingte Formatierung per VBA
28.09.2016 11:17:39
Nik
Danke Werner!
Man lernt nie aus.. und ich habe noch vieeeel zu lernen :-)
Gruß
Nik
Das geht nur in ZellFmln, ...
28.09.2016 12:31:08
Luc:-?
…Werner,
nicht aber in der BedingtFormatierung (keine MatrixBezüge!), was man ebenfalls wissen sollte… ;-]
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Zur Kenntnis genommen nund abgespeichert.
28.09.2016 13:18:46
Werner
Hallo Luc,
nehme ich zur Kenntnis und würde ich auch gelten lassen, wenn mein Excel Status gut wäre, was er aber beileibe nicht ist.
Gruß Werner
Weil mir unbekannt auch nur 'man'... ;-) owT
28.09.2016 13:21:51
Luc:-?
:-?
AW: Excel: Bedingte Formatierung per VBA
28.09.2016 11:15:25
Nik
Habe mir einen VBA Code zusammengeschustert. Funktioniert auch soweit, jedoch nur mit einer Bedingung. Ich weiß nur nicht wie ich mehrere "Kürzel" anführen muss, dass er die auch richtig einfärbt -> siehe erste Bedingung für ROTEN Hintergrund.
Danke im Voraus für eure Mühe!
Nik
Public Sub BedingtesAmpelFormat()
Dim Wert As Variant
Range("F2:F9999").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
'*** Bedingte Formatierung anlegen
.FormatConditions.Delete
' Bedingung für roten Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, "=""BN"";""CW""")
.Interior.ColorIndex = 3
End With
' Bedingung für grünen Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, "=""BU""")
.Interior.ColorIndex = 50
End With
' Bedingung für gelben Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, "=""CT""")
.Interior.ColorIndex = 6
End With
End With
End Sub

Anzeige
AW: Excel: Bedingte Formatierung per VBA
28.09.2016 11:30:24
Werner
Hallo Nik,
Bei der Trennung der Begriffe schon mal mit Komma versucht?
Noch was zu deiner Formel und der bedingten Formatierung. In der Form wie du die Formel jetzt hast (WENN(ODER(....) kann die bedingte Formatierung damit nichts anfangen, da sie nur auf WAHR oder FALSCH auswertet. Wenn, dann so:
~f~=ODER(F2={"AS"."BH"."BM"."BO"."BP"."EI"."EP"."EX"."IA"."IC"."KA"."KB"."KP"."KS"."PC"."PO"."R1"."RP"."RU"."SZ"."T1"."T2"."ZA"."ZC"})
Gruß Werner
AW: ~f~ vor dem = gehört natürlich nicht dazu. owT
28.09.2016 11:31:59
Werner
AW: ~f~ vor dem = gehört natürlich nicht dazu. owT
28.09.2016 11:43:43
Nik
Habe es jetzt schon in allen erdenklichen Variationen versucht, mit Komma, Semikolon.. bekomme es nicht hin.
        ' Bedingung für roten Zellhintergrund
With .FormatConditions.Add(xlCellValue, xlEqual, "=""BN", "CW""")
.Interior.ColorIndex = 3
End With
Bei obiger Formel bringt er mir keinen Kompilierfehler, jedoch färbt er die Zellen auch nicht rot ein. :-/
Anzeige
AW: Excel: Bedingte Formatierung per VBA
28.09.2016 13:48:00
Daniel
HI
das funktioniert schon mit Recorder.
du musst "Formel als Regel" auswählen.
der Zellbereich F2:F9999 muss selektiert sein
die Zelle F2 muss aktiv sein.
dann kannst du die Regelformel eingeben. Die Formel muss für die aktive Zelle geschrieben werden, damit die relativen Zellbezüge passen.
da du viele "Alternativ-Werte" für die gleiche Farbe hast, musst du die Formel so schreiben, hierbei ist das WENN unnötig, die Formel sollte als Ergebnis WAHR oder FALSCH ergeben:
=IstZahl(Finden(","&F2&",";",AS,BH,BM,BO,PB,...,ZA,ZC,"))

(den Text für die Formel bitte ergänzen, einfach die "Wörter" mit "," getrennt anfügen, auch am anfang und ende muss das "," stehen.
wenn die Formel zu lang wird weils sehr viele Wörter sind, kannst du auch so vorgehen:
1. liste alle Wörter, bei denen die gleiche Farbe zugewiesen werden soll,auf einem anderen Tabellenblatt in einer Spalte untereinander auf
2. Verwende dann folgene Formel als Regel (Blattname und Spalte bitte anpassen)
=ZählenWenn(Tabelle2!A:A;F2)>0
Gruß Daniel
Anzeige
AW: Excel: Bedingte Formatierung per VBA
29.09.2016 07:48:54
Nik
Hallo Daniel,
danke für die Antwort. Ich werde das demnächst beim Aufzeichungen mit dem Makrorekorder berücksichtigen :-)
Habe es zwischenzeitlich mithilfe der anderen Hilfestellungen in VBA hinbekommen.
Sub Farbe_NET()
Range("H2:H9999").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.FormatConditions.Delete
' Bedingung für grünen Zellhintergrund
With .FormatConditions.Add(Type:=xlExpression, Formula1:="=ODER(H2=""AS"";H2=""weitere  _
Werte"")")
.Interior.ColorIndex = 43
End With

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige