Gast
#3713644
Hallo VBA-Experten,
ich habe eine Excel-Tabelle, in der ich Zellen der Größe ihres Inhaltes
nach einfärben möchte. Die Werte sind dabei nur Teil des Zellinhaltes.
Dabei sollen die Farben wie folgt verteilt werden:
1-9 Gelb
10-99 Orange
>100 Rot
Beispiel:
B(23) Orange
M(1) Gelb
D(125) Rot
F(101) Rot
M(95) Orange
D(5) Gelb
Folgende zwei Lösungsansätze habe ich mir überlegt:
1. Zahlenwert aus Zelle auslesen, aufgrund des Wertes Zelle einer Farbe
zuordnen (optimale Methode, aber ich scheiter am Code für das Auslesen
der Zahl)
2. Anzahl der Zeichen bestimmen, aufgrund der Zeichenanzahl in der Zelle
eine Farbe zuordnen (ist möglich, weil hier unterschieden wird zwischen
einstellig (1-9), zweistellig (10-99) und dreistellig (>100) )
Eigentlich dachte ich, dass das mit Methode 2 fix als VBA-Code
einprogrammiert ganz leicht zu lösen ist, aber ich habe gerade nen
Durchhänger. Folgender Code färbt mir dooferweise nur eine Zelle (die
erste) auf gelb.
Sub ZeichenZählen()
Dim Laenge As Integer ' Laenge = Anzahl der Zeichen
For Each Cell In Selection 'den vorher markierten Bereich
durchgehen
CountLength = Laenge 'Anzahl der Zeichen bestimmen
Select Case Laenge 'Case-Anweisung für Farbzuordnung gelb(6) usw.
Case Laenge = 4 '4 Zeichen entsprechen einer Zahl: z.B.: "M(3)"
ActiveCell.Interior.ColorIndex = 6
Case Laenge = 5
ActiveCell.Interior.ColorIndex = 15
Case Laenge = 6
ActiveCell.Interior.ColorIndex = 3
End Select
Next
Liebe Mädels und Jungs, klärt mich doch bitte auf, was ich als
VBA-Frischling machen muss und warum das Makro nicht funktioniert. Ich
wäre Euch immens dankbar.
Beste Grüße
Friedrich