Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelleninhalt unterschiedlich formatieren?

Forumthread: Zelleninhalt unterschiedlich formatieren?

Zelleninhalt unterschiedlich formatieren?
06.10.2003 14:33:02
Hermann
Hallo,

ich möchte den Inhalt einer Zelle verschiedenfarbig formatieren:
Die Zelle enthält einen 11-stelligen Text, (z.B.: X7770006699) aber nicht immer dasselbe!
Davon sollen
das 2., 3. und 4. Zeichen ROT, (also 777 = rot)
das 8. und 9. Zeichen Blau (also 66 = blau)
formatiert werden.

Manuell geht das, aber wie schaffe ich das für 100 Zellen untereinander?
Eine Zelle so vorformatieren und dann Format übertragen mit dem gelben Pinsel geht nicht.
Als Makro bei einer Zelle aufgezeichnet und dann mehrere Zellen überstreichen und ablaufen lassen geht auch nicht.

Weiß jemand eine (einfache) Lösung?

Gruß Hermann
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt unterschiedlich formatieren?
06.10.2003 14:45:55
Jörg Gradert
Hallo Herrmann,
Zellen markieren, dann folgendes Makro


Sub Makro1()
With Selection.Characters(Start:=2, Length:=3).Font
.ColorIndex = 3
End With
With Selection.Characters(Start:=8, Length:=2).Font
.ColorIndex = 5
End With
End Sub


Gruss Jörg
Anzeige
AW: Zelleninhalt unterschiedlich formatieren?
06.10.2003 14:51:46
Hermann
Hallo Jörg,

huch, das ging aber schnell!
Und funktioniert sogar, Danke

"With Selection.Characters..."

das war's

Gruß Hermann
AW: Zelleninhalt unterschiedlich formatieren?
06.10.2003 14:58:03
WernerB.
Hallo Hermann,

wenn Du dieses Makro in das betreffende Tabellenblatt-Modul kopierst, dann geht's automatisch ...
Den Bereich habe ich mit "A1:A100" definiert, den musst Du ggf. noch anpassen.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
If Len(Target.Value) = 11 Then
Application.EnableEvents = False
With Target.Characters(Start:=2, Length:=3).Font
.ColorIndex = 3
End With
With Target.Characters(Start:=8, Length:=2).Font
.ColorIndex = 5
End With
Application.EnableEvents = True
End If
End If
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
AW: Zelleninhalt unterschiedlich formatieren?
06.10.2003 15:28:51
Hermann
Hallo WernerB,

auch diese Lösung sieht gut aus!

danke auch an dich.

Gruß Hermann
@Jörg und Werner
06.10.2003 15:39:50
th.heinrich
hallo,

funzzt das auch falls nur ZAHLEN in der ZELLE stehen. ZAHLEN als TEXT FORMATIERT geht nicht.

gruss thomas
AW: @Jörg und Werner
06.10.2003 15:50:22
WernerB.
Hallo Thomas,

wenn Du die leere Zelle als Text formatierst und dann erst die elfstellige Zahl einträgst, dann funzt das schon.
Es funzt nicht, wenn Du in eine Standard-formatierte Zelle die Zahl einträgst und die Zelle dann nachträglich als Text formatierst.
Motto: Wie man sich bettet, so liegt man ...

Gruß WernerB.
Anzeige
AW: @Jörg und Werner
06.10.2003 16:00:56
th.heinrich
danke Werner,

also ist in excel TEXT<>TEXT<>'TEXT mit dem hochkomma hinterher funzzt es auch ueber STANDARD.

das mag verstehen wer will.

gruss thomas

ps. motto: manchmal liege ich neben dem bett ;-)
AW: @Jörg und Werner
06.10.2003 16:42:27
Jörg Gradert
Hallo Thomas,
ich habe festgestellt, dass es per Makro dann funktioniert, wenn es händisch auch geht.
in dem Ausdruck
="12345678"
lassen sich in der Bearbeitungsleiste keine einzelnen Zeichen einfärben
bei
'12345678
funktioniert dies.

bei
12345678
sieht es zwar zuerst so aus, als ob es funktioniert, nach Eingabe geht die Formatierung aber wieder verloren. Ist halt eine Textformatierung und darum wohl auf Zahlen so nicht anwendbar.

Gruss Jörg
Anzeige
AW:danke @Jörg und Werner
06.10.2003 17:14:33
th.heinrich
hallo,

es funzzt sowohl bei leere zelle als TEXT FORMATIEREN, dann ZAHL eintragen.

alsauch FORMAT STANDARD und HOCHKOMMA.

dabei ist das WORKSHEET_CHANGE einfacher zu handeln.

mit beiden WERTEN kann man weiterrechnen.

gruss thomas
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zelleninhalt unterschiedlich formatieren in Excel


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle in Excel unterschiedlich zu formatieren, kannst Du folgende Schritte befolgen:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, auf dem Du die Zellen formatieren möchtest.

  2. Markiere die Zellen, die Du formatieren willst.

  3. Öffne den Visual Basic Editor (Alt + F11).

  4. Füge ein neues Modul hinzu:

    • Klicke auf „Einfügen“ > „Modul“.
  5. Kopiere das folgende Makro in das Modul:

    Sub Makro1()
       With Selection.Characters(Start:=2, Length:=3).Font
           .ColorIndex = 3  ' Rot
       End With
       With Selection.Characters(Start:=8, Length:=2).Font
           .ColorIndex = 5  ' Blau
       End With
    End Sub
  6. Schließe den Visual Basic Editor und kehre zurück zu Excel.

  7. Führe das Makro aus (Alt + F8) und wähle „Makro1“ aus.

Für eine automatische Formatierung beim Ändern einer Zelle kannst Du das folgende Event-Makro verwenden:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
        If Len(Target.Value) = 11 Then
            Application.EnableEvents = False
            With Target.Characters(Start:=2, Length:=3).Font
                .ColorIndex = 3  ' Rot
            End With
            With Target.Characters(Start:=8, Length:=2).Font
                .ColorIndex = 5  ' Blau
            End With
            Application.EnableEvents = True
        End If
    End If
End Sub

Dieses Makro wird automatisch ausgeführt, wenn Du eine Zelle im Bereich A1:A100 änderst.


Häufige Fehler und Lösungen

  • Makro läuft nicht: Stelle sicher, dass Du die Makros in den Excel-Optionen aktiviert hast.
  • Formatierung wird nicht übernommen: Überprüfe, ob die Zellen als Text formatiert sind, bevor Du die 11-stellige Zahl eingibst.
  • Zahlenformat funktioniert nicht: Wenn Du Zahlen eingibst, stelle sicher, dass Du sie als Text formatierst, um die Formatierung beizubehalten.

Alternative Methoden

Wenn Du keine Makros verwenden möchtest, kannst Du die Bedingte Formatierung nutzen. Allerdings bietet diese Methode weniger Flexibilität bei der farblichen Gestaltung einzelner Zeichen. Eine andere Option ist die Verwendung von Excel-Add-Ins, die speziell für die Formatierung von Zellen entwickelt wurden.


Praktische Beispiele

  1. Beispiel für die manuelle Formatierung:

    • Gebe den Text „X7770006699“ in eine Zelle ein.
    • Markiere die Zeichen 2 bis 4 und formatiere sie rot.
    • Markiere die Zeichen 8 und 9 und formatiere sie blau.
  2. Automatisierte Lösung:

    • Nutze das oben beschriebene Makro, um die Formatierung für mehrere Zellen in einem Arbeitsgang anzuwenden.

Tipps für Profis

  • Verwende das Worksheet_Change-Ereignis, um die Formatierung automatisch anzuwenden, wenn der Inhalt einer Zelle geändert wird.
  • Achte darauf, dass Du die Zellen vor der Eingabe als Text formatierst, wenn Du mit Zahlen arbeitest, um unerwünschte Änderungen zu vermeiden.
  • Experimentiere mit verschiedenen ColorIndex-Werten, um verschiedene Farben zu verwenden.

FAQ: Häufige Fragen

1. Kann ich auch andere Zeichen farbig formatieren?
Ja, Du kannst die Start- und Längenparameter im Makro anpassen, um andere Zeichen in der Zelle zu formatieren.

2. Funktioniert das auch bei Zellen mit Zahlen?
Ja, solange die Zellen als Text formatiert sind, bevor Du die Zahlen eingibst. Ansonsten wird die Formatierung möglicherweise nicht beibehalten.

3. Wie kann ich die Formatierung auf andere Zellen anwenden?
Du kannst das Makro auf andere Zellen anwenden, indem Du die gewünschten Zellen markierst und das Makro erneut ausführst.

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