Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Textbox - Schriftfarbe ändern

Textbox - Schriftfarbe ändern
12.03.2015 11:13:18
Klaus
Hallo Liebes Forum
Ich habe 2 Textboxen
Mit der 1. Textbox lese ich meine ActiveCell aus

Private Sub UserForm_Initialize()
TextBox1 = ActiveCell.Text
End Sub
_____________________
Mit meiner 2. Textbox (und CommandButton) füge ich einen NEUEN Text ein.
Private Sub CommandButton2_Click()
If TextBox1.Value = "" Then
ActiveCell = TextBox2.Text
Else
ActiveCell = TextBox1.Text & Chr(10) & TextBox2.Text
End If
End Sub
______________________________
Jetzt meine Frage:
Ist es möglich, den Text den ich NEU einfüge die Schriftfarbe zu ändern?
Bsp.:
Erster Text der ausgelesen wird ist Schwarz (soll auch so bleiben) und der nächste Text, den ich einfüge, der soll zum Bsp. Rot eingefügt werden
Ist dies irgendwie möglich?
Danke
Klaus

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox - Schriftfarbe ändern
12.03.2015 11:15:01
Hajo_Zi
Hallo Klaus,
ActiveCell .interior.color=255

AW: Textbox - Schriftfarbe ändern
12.03.2015 11:26:48
Nepumuk
Hallo,
so:
Private Sub CommandButton2_Click()
    If TextBox1.Value = "" Then
        ActiveCell = TextBox2.Text
        ActiveCell.Font.Color = vbRed
    Else
        ActiveCell = TextBox1.Text & Chr(10) & TextBox2.Text
        ActiveCell.Characters(Len(TextBox1.Text) + 1).Font.Color = vbRed
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Textbox - Schriftfarbe ändern
12.03.2015 11:33:49
Klaus
Hey Nepumuk
top gemacht von dir
funktionier perfekt
danke
Klaus

AW: Textbox - Schriftfarbe ändern
12.03.2015 11:45:24
Klaus
Hey
jetzt habe ich ein neues Problem festgestellt,
wenn ich den Text einfüge, und die Schriftfarbe geändert habe, funktionier alles,
ABER sobald ich die Zelle WIEDER auslese und WIEDER einen neue Text einfüge, dann wird die Farbe des Textes, den ich zuvor eingefügt habe, wieder schwarz,
es soll die Farbe so bleiben, wie sie ist.
danke
Klaus

Anzeige
AW: Textbox - Schriftfarbe ändern
12.03.2015 13:01:12
Nepumuk
Hallo,
ein Beispiel welches du dir anpassen musst:
Public Sub Beispiel()
    Dim alngColorArray() As Long, ialngIndex As Long
    Dim lngTextLength As Long
    lngTextLength = Len(ActiveCell.Text)
    Redim alngColorArray(1 To lngTextLength)
    For ialngIndex = 1 To lngTextLength
        alngColorArray(ialngIndex) = ActiveCell.Characters(ialngIndex, 1).Font.Color
    Next
    ActiveCell.Value = ActiveCell.Value & Chr(10) & "xxx"
    For ialngIndex = 1 To lngTextLength
        ActiveCell.Characters(ialngIndex, 1).Font.Color = alngColorArray(ialngIndex)
    Next
    ActiveCell.Characters(lngTextLength + 1).Font.Color = vbBlue
End Sub

Gruß
Nepumuk

Anzeige
AW: Textbox - Schriftfarbe ändern
12.03.2015 11:27:09
Klaus
Hallo Hajo
danke für die schnelle Antwort, aber mit deinem Code färbe ich die ganze Zelle Rot,
aber ich möchte ja nur den Text, den ich neu einfüge die Schriftfarbe ändern.
danke
Klaus

AW: Textbox - Schriftfarbe ändern
12.03.2015 11:29:06
Hajo_Zi
nicht interior sondern Font

Anzeige
AW: Textbox - Schriftfarbe ändern
12.03.2015 12:44:11
Klaus
Hey
kann man jemand bei meinem neuen Problem helfen?
wenn ich den Text einfüge, und die Schriftfarbe geändert habe, funktionier alles,
ABER sobald ich die Zelle WIEDER auslese und WIEDER einen neue Text einfüge, dann wird die Farbe des Textes, den ich zuvor eingefügt habe, wieder schwarz,
es soll die Farbe so bleiben, wie sie ist.
danke
Klaus
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Schriftfarbe in einer Textbox mit VBA ändern


Schritt-für-Schritt-Anleitung

Um die Schriftfarbe in einer Textbox mithilfe von VBA zu ändern, gehe wie folgt vor:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
  2. Erstelle ein neues UserForm.
  3. Füge zwei Textboxen (TextBox1 und TextBox2) und einen Button (CommandButton2) hinzu.
  4. Kopiere den folgenden Code in das UserForm:
Private Sub UserForm_Initialize()
    TextBox1 = ActiveCell.Text
End Sub

Private Sub CommandButton2_Click()
    If TextBox1.Value = "" Then
        ActiveCell.Value = TextBox2.Text
        ActiveCell.Font.Color = vbRed ' Schriftfarbe für neuen Text
    Else
        ActiveCell.Value = TextBox1.Text & Chr(10) & TextBox2.Text
        ActiveCell.Characters(Len(TextBox1.Text) + 1).Font.Color = vbRed ' Schriftfarbe ändern
    End If
End Sub
  1. Schließe den VBA-Editor und teste das UserForm in Excel.

Häufige Fehler und Lösungen

  • Fehler: Die Schriftfarbe ändert sich nicht.

    • Lösung: Stelle sicher, dass du ActiveCell.Characters(...).Font.Color verwendest, um die Schriftfarbe des neuen Textes zu ändern.
  • Fehler: Die gesamte Zelle wird rot gefärbt.

    • Lösung: Verwende ActiveCell.Characters(Len(TextBox1.Text) + 1).Font.Color = vbRed nur für den neuen Text.

Alternative Methoden

Eine andere Möglichkeit, die Schriftfarbe zu ändern, ist die Verwendung von RichText in einem Textfeld. Hierbei kannst du die verschiedenen Teile des Textes in unterschiedlichen Farben formatieren.

Dim startChar As Long
startChar = Len(ActiveCell.Value) + 1
ActiveCell.Value = ActiveCell.Value & Chr(10) & "Neuer Text"
ActiveCell.Characters(startChar, Len("Neuer Text")).Font.Color = vbBlue

Hiermit wird der neue Text in Blau eingefügt, während der alte Text seine ursprüngliche Farbe behält.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Schriftfarbe in einer Textbox ändern kannst:

  1. Text in verschiedenen Farben:

    ActiveCell.Value = "Erster Text" & Chr(10) & "Zweiter Text"
    ActiveCell.Characters(1, 12).Font.Color = vbBlack ' Erster Text bleibt schwarz
    ActiveCell.Characters(14, 12).Font.Color = vbRed ' Zweiter Text wird rot
  2. Schriftfarbe basierend auf einer Bedingung:

    If TextBox2.Text = "Fehler" Then
       ActiveCell.Characters(Len(TextBox1.Text) + 1).Font.Color = vbRed
    Else
       ActiveCell.Characters(Len(TextBox1.Text) + 1).Font.Color = vbGreen
    End If

Tipps für Profis

  • Nutze Arrays, um die Schriftfarbe mehrerer Zeichen zu speichern, bevor du den Text hinzufügst. So kannst du die Schriftfarbe für jeden einzelnen Teil des Textes beibehalten.
  • Experimentiere mit verschiedenen vbColor-Werten, um die gewünschten Farben zu erhalten.
  • Achte darauf, den Text in einer TextBox zu formatieren, bevor du ihn in die Zelle schreibst.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe in einer Textbox dynamisch ändern? Du kannst die Schriftfarbe in einer Textbox dynamisch ändern, indem du den Font.Color-Eigenschaft des Characters-Objekts nutzt.

2. Was mache ich, wenn die Farbe beim erneuten Auslesen zurückgesetzt wird? Um die Schriftfarbe zu beibehalten, musst du die Farben jedes Mal speichern und beim Auslesen wiederherstellen. Verwende dafür ein Array, um die Farben des bestehenden Textes zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige