AW: einzelnen Elemente eines Arrays einfärben
16.01.2015 11:35:38
yummi
Hallo Feliks,
das kannst Du in etwa so machen:
Sub farbe()
Dim language(6) As String
Dim str As String
Dim i As Integer
Dim pos As Integer
language(0) = "invalid"
language(1) = "English"
language(2) = "Dutch"
language(3) = "German"
language(4) = "Japanese"
language(5) = "Mandarin"
For i = 0 To 5
If i 5 Then
str = str & language(i) & vbCrLf
Else
str = str & language(i)
End If
Next i
Cells(1, 1).Value = str
Rows("1:1").Rows.AutoFit
'alles sw färben (muss aber nicht sein)
pos = 1
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(0))).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(0))
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(1))).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(1))
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(2))).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(2))
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(3))).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(3))
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(4))).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(4))
Cells(1, 1).Characters(Start:=pos).Font.Color = RGB(0, 0, 0)
pos = pos + Len(language(5))
'ab hier gehts dann los mit färben
pos = 1
Cells(1, 1).Characters(Start:=pos, Length:=Len(language(0))).Font.Color = RGB(0, 255, 0)
pos = pos + Len(language(0)) + 2 '+2 wegen crlf
'MsgBox ">" & Mid(Cells(1, 1).Value, pos, 1) & "" & Mid(Cells(1, 1).Value, pos, 1) & "" & Mid(Cells(1, 1).Value, pos, 1) & "" & Mid(Cells(1, 1).Value, pos, 1) & "" & Mid(Cells(1, 1).Value, pos, 1) & "
Die Farben kannst Du dir ja mixen wie willst du ;-)
Gruß
yummi