1.2k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe folgenden Befehl
Cells(rngName.Row, 29) = & " " & strWS.name & ": " & Mid(arrSpeicher(0, 0), 1, 3& " "

und möchte den Teil -String
Mid(arrSpeicher(0, 0), 1, 3)
farbig aus´geben.
Habe es mit
)Mid(arrSpeicher(0, 0), 1, 3).Font.ColorIndex = 46
probiert - klappt aber nicht. Hat jemand einen Tipp??
Danke und Gruß

5 Antworten

0 Punkte
Beantwortet von
Hallo Andreas,

füge mal nach deinem Wert-Zuweisungs-Befehl folgende Zeile hinzu

Cells(rngName.Row, 29).Characters(Start:=Len(strWS.Name + 3), Length:=Len(Mid(arrSpeicher(0, 0), 1, 3))).Font.ColorIndex = 46

Gruß Mr. K.
0 Punkte
Beantwortet von
Sorry Klammerfehler. So müsste es klappen.

Cells(rngName.Row, 29).Characters(Start:=Len(strWS.Name) + 3, Length:=Len(Mid(arrSpeicher(0, 0), 1, 3))).Font.ColorIndex = 46
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

danke für die schnelle und präzise Antwort. Funktioniert einwandfrei!!
Gruß A,
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe da noch eine "Zusatzfrage"...

Ich mochte in folgender String-Variablen

Jan: Klü Feb: Klü Mrz: Klü Mai: Klü Jun: Klü Jul: Wer Ten Aug: Wer

die jeweiligen dreistelligen Monatsnamen farblich hervorheben. Die Lände ist variabel, da ggf. noch weitere Monate hinzukommen können. Hab schon einiges probiert (Schleifenabfrage, die den String stellenweise auf Monatsnamen prüft) , aber keine passable Lösung gefunden.
Danke für jeden Tipp!!
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe doch noch eine Lösung für mein "Problem" gefunden, die auch ganz gut funktioniert:
Sub text()

Dim arrSpeicher()
arrSpeicher = Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")

For i = 1 To Len(Range("A1"))
If Not IsError(Application.Match(Mid(Range("A1"), i + 1, 3), arrSpeicher, 0)) Then
Range("A1").Characters(Start:=i + 1, Length:=4).Font.ColorIndex = 46
End If
Next

End Sub

Wenn jemand noch eine bessere/elegantere Lösung hat bitte um kurze Mitteilung. Danke.
Gruß A.
...