Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

unterschiedliche Farben für Text in einer Zelle

Forumthread: unterschiedliche Farben für Text in einer Zelle

unterschiedliche Farben für Text in einer Zelle
Swen
Hallo @ all,
ich habe in einer Zelle unterschiedliche Farben für den Text (Inhalt der Zelle ist ein String),
und ich möchte gerne mittels VBA nur den Text in eine Variable(strRedText) laden der "rot" ist.
kann mir jemand von euch einen Anhaltspunkt geben wie ich das machen kann...
Gruß
Swen
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: unterschiedliche Farben für Text in einer Zelle
16.11.2010 18:40:12
Josef

Hallo Swen,
die Funktion kannst du auch als Tabellenfunktion verwenden.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function redString(Zelle As Range) As String
  Dim lngI As Long
  
  For lngI = 1 To Len(Zelle.Text)
    If Zelle.Characters(lngI, 1).Font.Color = vbRed Then _
      redString = redString & Zelle.Characters(lngI, 1).Text
  Next
End Function


Sub test()
  MsgBox redString(Range("a1"))
End Sub

Gruß Sepp

Anzeige
AW: unterschiedliche Farben für Text in einer Zelle
16.11.2010 18:40:16
ransi
Hallo
Meines Wissens geht sowas nur mit VBA.
Diesen Code in ein Modul:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Function extract_red(zelle As Range) As String
Dim L As Long
For L = 1 To Len(zelle.Text)
    If zelle.Characters(L, 1).Font.Color = vbRed Then
        extract_red = extract_red & zelle.Characters(L, 1).Text
    End If
Next
End Function


Aufrufen kannst du das dann so:
XCUBQNWZLIWBMTJNWZLIW 
 XXX 
   
   

Formel in B1:=extract_red(A1)
ransi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Unterschiedliche Farben für Text in einer Zelle in Excel


Schritt-für-Schritt-Anleitung

Um unterschiedliche Farben für den Text in einer Zelle auszulesen, benötigst du Visual Basic for Applications (VBA). Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Option Explicit
    
    Public Function extract_red(zelle As Range) As String
       Dim L As Long
       For L = 1 To Len(zelle.Text)
           If zelle.Characters(L, 1).Font.Color = vbRed Then
               extract_red = extract_red & zelle.Characters(L, 1).Text
           End If
       Next
    End Function
  4. Verwende die Funktion in Excel:

    • Gehe zurück zu Excel und gib in einer Zelle z.B. =extract_red(A1) ein, um den roten Text aus der Zelle A1 auszulesen.

Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert"

    • Lösung: Stelle sicher, dass du den VBA-Code korrekt eingefügt hast und dass du Option Explicit verwendest.
  • Fehler: Leeres Ergebnis

    • Lösung: Überprüfe, ob die Zelle tatsächlich roten Text enthält und dass die Schriftartfarbe korrekt eingestellt ist.

Alternative Methoden

Wenn du keine VBA verwenden möchtest, kannst du auch Conditional Formatting (Bedingte Formatierung) verwenden, um Zellen farblich hervorzuheben.

  1. Markiere die Zellen.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden" und gib deine Bedingung ein.

Diese Methode eignet sich jedoch nicht, um den Text in einer Zelle zweifarbig zu formatieren.


Praktische Beispiele

Hier ist ein Beispiel, wie du den VBA-Code in einer realen Excel-Arbeitsmappe verwenden kannst:

  1. Zelle A1: Hallo Welt (mit "Hallo" in rot).
  2. In Zelle B1 gibst du =extract_red(A1) ein.
  3. Ergebnis in B1: "Hallo".

So kannst du ganz einfach Text in einem Excel-Feld zweifarbig gestalten und die unterschiedlichen Farben auslesen.


Tipps für Profis

  • Nutze die Debugging-Funktion im VBA-Editor, um Fehler im Code schnell zu finden.
  • Experimentiere mit verschiedenen Schriftarten und -größen, um die Lesbarkeit zu erhöhen, wenn du Excel-Zellen zweifarbig färben möchtest.
  • Denke daran, dass die performante Nutzung von VBA bei großen Datenmengen Zeit in Anspruch nehmen kann.

FAQ: Häufige Fragen

1. Kann ich die Funktion auch für andere Farben verwenden? Ja, du kannst die Farbe in der Zeile If zelle.Characters(L, 1).Font.Color = vbRed Then ändern, um andere Farben auszulesen.

2. Ist VBA in allen Excel-Versionen verfügbar? Ja, VBA ist in den meisten Excel-Versionen verfügbar, jedoch können die genauen Schritte zur Nutzung leicht variieren. Prüfe, ob du die Entwicklertools in deiner Version aktiviert hast.

3. Wie kann ich mehrere Farben gleichzeitig auslesen? Du kannst die Funktion erweitern, indem du mehrere If-Bedingungen hinzufügst, um verschiedene Farben zu erkennen.

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