Office: VBA für Schriftfarbe nach Formel WENN

Helfe beim Thema VBA für Schriftfarbe nach Formel WENN in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, habe folgendes Vorhaben schon mal geschrieben. Nach langem hin und her komme ich wohl nicht um VBA rum. In Zelle A1-A5 sind Buchstaben der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von tina1973, 12. März 2009.

  1. tina1973 Neuer User

    VBA für Schriftfarbe nach Formel WENN


    Hallo, habe folgendes Vorhaben schon mal geschrieben. Nach langem hin und her komme ich wohl nicht um VBA rum.
    In Zelle A1-A5 sind Buchstaben der Schriftart Windings3 (Pfeile nach oben, rechtsoben, waagerecht rechts, rechtsunten, unten). Rechts daneben steht nur die Bedeutung. Zum Einfügen dieser "Pfeile" habe ich eine Formel:=WENN(ODER(B9>10;B9=10);A1;WENN(UND(B9<10>5);A2;WENN(B9=5;A2;WENN(UND(B9<5>-5);A3;WENN(B9=-5;A4;WENN(UND(B9<5>-10);A4;A5))))))
    Nun wird zwar der richtige Pfeil eingetragen, dieser soll aber Grün, gelb, oder rot sein. Und dies ist auch mein Problem. Wie kann ich automatisch die nach oben zeigenden Pfeile grün, den waagerechten gelb und die nach unten zeigenden Pfeile rot machen.

    Û > 10 unendlich bis 10
    Þ 10 bis 5 5 kleiner 10 größer/gleich 5
    Ú 4,9 bis -4,9 0 kleiner 5, größer/gleich 0 und/oder kleiner 0 kleiner/gleich -5
    à -5 bis -10 -5 größer -10, kleiner /gleich -5
    Ü < -10 minus unendlich, bis -10


    Benötige mehr als drei bedingte Formatierungen, deshalb muss ich wohl über VBA gehen. Leider habe ich davon überhaupt keine Ahnung. Ich habe mich hier durch das Forum geklickt und dies hier gefunden und etwas umgebaut:
    If Me!Datenfeld = "Û" Then
    Me!Datenfeld.ForeColor = vbGreen
    Else
    If Me!Datenfeld = "Þ" Then
    Me!Datenfeld.ForeColor = vbGreen
    Else
    If Me!Datenfeld = "Ú" Then
    Me!Datenfeld.ForeColor = vbYellow
    Else
    If Me!Datenfeld = "à" Then
    Me!Datenfeld.ForeColor = vbRed
    Else
    If Me!Datenfeld = "Ü" Then
    Me!Datenfeld.ForeColor = vbRed
    End If

    Aber leider bekomme ich das Modul nicht hin. Er gibt mir immer eine Fehlermeldung. Bin ich auf dem völlig falschen Weg? Bin für jede Hilfe dankbar. Rolling Eyes
     
    tina1973, 12. März 2009
    #1
  2. Exl121150 Erfahrener User
    Hallo Tina,

    vielleicht hilft Dir folgendes VBA-Makro-Beispiel weiter:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      Dim Farbe As Long
      Dim PfeilBereich As Range, Zelle As Range
      
      Set PfeilBereich = Range("F1:G20,J3:K10")
      
      For Each Zelle In PfeilBereich.Cells
        Farbe = Zelle.Font.Color
        Select Case Zelle.Value
          Case "Û": Farbe = RGB(0, 255, 0)   'vbGreen
          Case "Þ": Farbe = RGB(0, 255, 0)   'vbGreen
          Case "Ú": Farbe = RGB(255, 255, 0) 'vbYellow
          Case "à": Farbe = RGB(200, 0, 0)   'vbRed (dark)
          Case "Ü": Farbe = RGB(255, 0, 0)   'vbRed
        End Select
        Zelle.Font.Color = Farbe
      Next Zelle
    
    End Sub
    1) Markiere mit der Maus obigen Code-Abschnitt, kopiere ihn in die Zwischenablage
    2) Gehe im VBA-Editor in das Code-Modul desjenigen Arbeitsblattes, in das Du die Farbpfeile platziert hast; füge in dieses Modul den Inhalt der Zwischenablage ein (also das obige Makro).
    3) Wichtig ist, dass Du dieses Makro noch ein wenig anpassen musst: Suche Dir oben im Makro die Stelle, wo es heißt: "F1:G20,J3:K10"; wenn Du diese Stelle so belässt, wie sie ist, würde das Makro im Arbeitsblatt die Zellbereiche F1:G20 und J3:K10 nach Pfeilen durchsuchen und diese einfärben. Willst Du also einen anderen Zellbereich, der durchsucht werden soll, dann musst Du diese Bereichsangaben entsprechend änderen. Zu beachten ist dabei, dass das Makro englisch ist, somit ist statt des Strichpunktes zum Trennen meherer Bereiche natürlich das Komma zu verwenden (vgl. obiges Beispiel).
    4) Funktionsweise:
    Jedesmal, wenn sich im Arbeitsblatt ein Wert ändert, wird von Excel das Change-Ereignis für dieses Arbeitsblatt ausgelöst und das obige Makro aufgerufen. In diesem Makro hast Du festgelegt, welche(n) Bereich(e) das Makro auf Pfeile absuchen soll. Hat es einen solchen gefunden, wird er aufgrund seiner Gestalt (=Wert) in der Select-Case-Anweisung durch die RGB-Funktionen entsprechend eingefärbt. Die RGB-Funktion benötigt (wie ihr Name schon sagt) 3 Parameter für den roten, für den grünen und den blauen Farbwert (jeweis von 0 für den minimalsten Farbanteil bis 255 für den größten Farbanteil). Auf diese Art und Weise kann man sich selber (fast) beliebe Farben zusammenmixen und ist nicht auf vorgegebene Farbkonstanten angewiesen.
     
    Exl121150, 13. März 2009
    #2
  3. tina1973 Neuer User
    Vielen vielen Dank. Ich denke ich habe es hinbekommen, dank Deiner Hilfe.....freu
     
    tina1973, 16. März 2009
    #3
Thema:

VBA für Schriftfarbe nach Formel WENN

Die Seite wird geladen...
  1. VBA für Schriftfarbe nach Formel WENN - Similar Threads - VBA Schriftfarbe Formel

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. VBA -Code für Schriftfarbe je nach Inhalt ändern

    in Microsoft Excel Hilfe
    VBA -Code für Schriftfarbe je nach Inhalt ändern: Hallo zusammen, ich habe folgendes Problem: Ich möchte über einen VBA-Code die Schriftfarbe einer Zelle(B3) von rot zu grün ändern, wenn sich in (D3) ein "-"Zeichen befindet. (Bedingte...
  6. Schriftfarbe per vba ändern

    in Microsoft Excel Hilfe
    Schriftfarbe per vba ändern: Hallo Miteinander! Vorweg: Bin das erste Mal im Forum und bin schlichtweg vom Umfang und der Qualität begeistert !!! :-) Zu meiner Frage: Ich habe in einer Tabelle Zellen, die in mehreren...
  7. Bestimmte Schriftfarbe für bestimmte Zellen (VBA)

    in Microsoft Excel Hilfe
    Bestimmte Schriftfarbe für bestimmte Zellen (VBA): Hallo zusammen Ich habe eine kleine Aufgabe in Excel 2000 bekommen. Ich soll bestimmte Zellen in einer bestimmten Stift-Farbe darstellen. Dies sollte mittels VBA passieren, damit die Farben...
  8. Schriftfarbe über VBA - Problem mit Schaltjahr

    in Microsoft Excel Hilfe
    Schriftfarbe über VBA - Problem mit Schaltjahr: Hallo Excel Kenner folgendes Problem kann ich zur Zeit nicht lösen. In meiner Tabelle habe ich einen Dienstplan. Die der Zelle "AB1" kann mittels Drehfeld das Aktuelle Jahr ändern. Der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden