Office: VBA -Code für Schriftfarbe je nach Inhalt ändern

Helfe beim Thema VBA -Code für Schriftfarbe je nach Inhalt ändern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; 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)... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Liquid22, 5. Oktober 2017.

  1. 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 Formatierung kann nicht verwendet werden).

    Wie schaffe ich es, dass der Code immer und sofort angewendet wird nicht erst nach betätigen eines Buttons oder so?

    Danke für eure Hilfe
    Liquid

    :)
     
    Liquid22, 5. Oktober 2017
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    benutze das Ereignis
    Private Sub Worksheet_Change(ByVal Target As Range)
    Mit VBA kennst Du Dich ja Klasse aus, da bedingte Formatierung gestrichen.
     
    Hajo_Zi, 7. Oktober 2017
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi,

    z.B. so:

    Code:
    VBA -Code für Schriftfarbe je nach Inhalt ändern grusz.gif
     
    Beverly, 7. Oktober 2017
    #3
  4. VBA -Code für Schriftfarbe je nach Inhalt ändern

    Hallo Liquid,

    Rechtsklick auf den Tabellenreiter - Code anzeigen. Folgende Prozedur in das sich öffnende Codefenster kopieren:

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Set objRange = Intersect(Target, Columns(4))
    If Not objRange Is Nothing Then
    For Each objCell In objRange
    With objCell
    If .Value = "-" Then
    .Offset(0, -2).Font.Color = vbRed
    Else
    .Offset(0, -2).Font.Color = vbGreen
    End If
    End With
    Next
    Set objRange = Nothing
    End If
    End Sub

    Dann mit der Tastenkombination Alt+q den VBA-Editor schließen. Anschließend die vorhandenen Einträge in Spalte D mit F2 - Enter durchgehen und staunen.
     
    Nepumuk, 7. Oktober 2017
    #4
  5. Danke Nepumuk,

    für deinen Code und die Erläuterungen (es ist schön, wenn die Wissenden ihre Machtposition nicht ausnutzen, um die Unwissenden nieder machen, nur weil sie Hilfe brauchen.)

    Ich habe den Code eingebaut und gestaunt, als es funktioniert hat. Nur ist es im Moment so, dass alle Felder rot werden. Die Unterscheidung nach dem "-" = Grün scheint nicht zu funktionieren.

    Kann man die Formatierung auch so machen, dass man sagt: "Lass die Formatierung(Farbe,Kursive...) wie sie ist, nur wenn "-" dann mache den Text rot?

    -
     
    Liquid22, 7. Oktober 2017
    #5
  6. ... jetzt geht es !!!

    Ich habe " - " zwei Leerzeichen links und rechts hinzufügen müssen.

    Cool. Danke.


    Noch ein Letztes:

    Gibt es statt F2 ENTER je Zelle, noch eine andere Möglichkeit den Code automatisiert auf die Zellen anzuwenden? Ansonsten müsste ich 4500 Mal alles per Hand durchführen !!!

    Danke
    Liquid
    -
     
    Liquid22, 7. Oktober 2017
    #6
  7. Hallo Liquid,

    du wolltest doch dass es automatisch funktionier und nicht per Knopfdruck. Der Code funktioniert schon automatisch wie du siehst wenn du in eine Zelle F2 + Enter machst reagiert er auf die Änderung in der Zelle auch wenn keine wirkliche Änderung ist.

    Um deine vorhandenen Zeilen zu färben brauchst du temporär folgende Prozedur:

    Option Explicit

    Public Sub Schriftfarbe()
    Dim objCell As Range
    For Each objCell In Range(Cells(6, 4), Cells(Rows.Count, 4).End(xlUp))
    With objCell
    If .Value = "-" Then
    .Offset(0, -2).Font.Color = vbRed
    Else
    .Offset(0, -2).Font.Color = vbGreen
    End If
    End With
    Next
    End Sub

    Dazu mit Alt+F11 den VBA-Editor öffnen und in dessen Menüleiste unter Einfügen - Modul auswählen. In das sich öffnende Codefenster obige Prozedur kopieren. Mit Alt+q den Editor wieder schließen und mit Alt+F8 die Makroliste aufrufen. Dort die Prozedur "Schriftfarbe" mit einem Doppelklick starten.

    Nachdem die Prozedur durchgelaufen ist, könntest du sie wieder löschen, denn in Zukunft reagiert ja das erste Makro von mir automatisch auf eine Eingabe.
     
    Nepumuk, 7. Oktober 2017
    #7
  8. VBA -Code für Schriftfarbe je nach Inhalt ändern

    Hey Nepumuk,

    alles funktioniert jetzt so wie erhofft.

    Viiiiiiiiiiiiiiiiielen Dank.
     
    Liquid22, 7. Oktober 2017
    #8
Thema:

VBA -Code für Schriftfarbe je nach Inhalt ändern

Die Seite wird geladen...
  1. VBA -Code für Schriftfarbe je nach Inhalt ändern - Similar Threads - VBA Code Schriftfarbe

  2. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  3. VBA Code für Zeilen ausblenden einblenden mit JA/Nein

    in Microsoft Excel Hilfe
    VBA Code für Zeilen ausblenden einblenden mit JA/Nein: Hallo, habe eine Exceltabelle, bei der ich bei einer Zelle eine Ja/Nein abfrage mache, wenn in der Zelle Nein steht, dann soll ein bestimmter Zeilenbereich, den ich definieren möchte, ausgeblendet...
  4. VBA Code ohne ergebnis

    in Microsoft Excel Hilfe
    VBA Code ohne ergebnis: Hallo, ich habe einen VBA Code der in meiner Tabelle nicht funktioniert. Kann mir vielleicht jemand bei der Korrektur ggf. weiter helfen? Danke und Gruß Private Sub Worksheet_Change(ByVal Target...
  5. VBA Code Anpassen "Wert Einfügen statt Formel"

    in Microsoft Excel Hilfe
    VBA Code Anpassen "Wert Einfügen statt Formel": Hallo alle zusammen. Ich benötige bitte Hilfe von einem Experten, da ich mit meinem Code unzufrieden bin und dieser bei größeren Datenmengen respektive Zeilen ziemlich langsam wird. Wie müsste man...
  6. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  7. VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst"

    in Microsoft Excel Hilfe
    VBA Code " Zeilenhöhe bei Verb. Zellen Funktioniert fasst": Hallo Leute dieser Code für Zellenhöhe bei Verbundenen Zellen Funktioniert fast. Ich habe ein Code von jemand anderem bekommen der nicht in einem Forum ist. Ich kann gerade diese Person nicht...
  8. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  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