Zelleninhalt unterschiedlich formatieren?

Bild

Betrifft: Zelleninhalt unterschiedlich formatieren?
von: Hermann
Geschrieben am: 06.10.2003 14:33:02

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

Bild


Betrifft: AW: Zelleninhalt unterschiedlich formatieren?
von: Jörg Gradert
Geschrieben am: 06.10.2003 14:45:55

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


Bild


Betrifft: AW: Zelleninhalt unterschiedlich formatieren?
von: Hermann
Geschrieben am: 06.10.2003 14:51:46

Hallo Jörg,

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

"With Selection.Characters..."

das war's

Gruß Hermann


Bild


Betrifft: AW: Zelleninhalt unterschiedlich formatieren?
von: WernerB.
Geschrieben am: 06.10.2003 14:58:03

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).


Bild


Betrifft: AW: Zelleninhalt unterschiedlich formatieren?
von: Hermann
Geschrieben am: 06.10.2003 15:28:51

Hallo WernerB,

auch diese Lösung sieht gut aus!

danke auch an dich.

Gruß Hermann


Bild


Betrifft: @Jörg und Werner
von: th.heinrich
Geschrieben am: 06.10.2003 15:39:50

hallo,

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

gruss thomas


Bild


Betrifft: AW: @Jörg und Werner
von: WernerB.
Geschrieben am: 06.10.2003 15:50:22

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.


Bild


Betrifft: AW: @Jörg und Werner
von: th.heinrich
Geschrieben am: 06.10.2003 16:00:56

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 ;-)


Bild


Betrifft: AW: @Jörg und Werner
von: Jörg Gradert
Geschrieben am: 06.10.2003 16:42:27

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


Bild


Betrifft: AW:danke @Jörg und Werner
von: th.heinrich
Geschrieben am: 06.10.2003 17:14:33

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


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Zelleninhalt unterschiedlich formatieren?"