Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellen per VBA farbig markieren - Hilfe beim code

Forumthread: Zellen per VBA farbig markieren - Hilfe beim code

Zellen per VBA farbig markieren - Hilfe beim code
08.09.2014 20:28:08
toteitote

Hi, ich habe die Grundlage von dem code von 'stackoverflow' kopiert und möchte ihn nun praktisch utilisieren. Leider komme ich nicht weiter und hoffe mir kann geholfen werden...
http://www.pic-upload.de/view-24541374/Excel-VBA-Anwendung.jpg.html
http://www.pic-upload.de/view-24541459/VBA-Cockpit.jpg.html
Ich möchte, dass die im Upload markierten Farben in der markierten Spalte Anwendung finden. Gedacht ist, dass bei Eingabe der Label-Codes sich die Zellfarbe entsprechend ändert, auch dass bei Löschung des Eintrages wieder auf Weiß wechselt. Bitte um Korrektur des Codes und evtl. Lösungsansätze, wie man die Befehle bündeln/kürzen kann.
Der Code soweit ich ihn bearbeitet habe:

Sub ConditionalFormatting()
Do Until IsEmpty(ActiveCell.Text)
If ActiveCell.Text = "E1" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "E2" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "E3" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE1" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE2" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE3" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE4" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "T1" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T2" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T3" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T4" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T5" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT1" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT2" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT3" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "Z1" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "Z2" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "Z3" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "U1" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "U2" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "U3" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "K" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "TEC" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "NEC" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "Str" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "ENT" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "KUR" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "SOF" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "SER" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "ORG" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "RE" Then
ActiveCell.Interior.ColorIndex = 3
Else: ActiveCell.Interior.ColorIndex = 1
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen per VBA farbig markieren - Hilfe beim code
08.09.2014 20:59:35
ransi
HAllo
Lade doch mal die Tabelle hoch.
Mein Excel tut sich etwas schwer damit einen Screenshot zu bearbeiten.
ransi

AW: Zellen per VBA farbig markieren - Hilfe beim code
08.09.2014 21:09:02
toteitote
Danke schonmal im Vorraus!
Tiemo

Anzeige
AW: Zellen per VBA farbig markieren - Hilfe beim code
08.09.2014 22:48:49
toteitote
Hi, Ich habe noch ein paar Kleinigkeiten an dem Code geändert... Je nach Änderung gab es verschiedene Fehlermeldungen: die Gesamte Spalte war geloopt; eine einzeilne Zelle wurde geloopt oder der Output hat nicht die Zelle betroffen, in die ich einen target-text eingegeben habe sondern die darauf folgende per 'Else:' command in Weiß gefärbt.
Ich würde die Formeln gerne zum laufen bringen, aber das passt noch nicht. Auch fehlt mir noch der Befehl, den Zell-Farbinhalt zu eliminieren sobald ich den Wert lösche. Bitte um Hülf:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If ActiveCell.Text = "E1" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "E2" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "E3" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE1" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE2" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE3" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "EE4" Then
ActiveCell.Interior.ColorIndex = 10
ElseIf ActiveCell.Text = "T1" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T2" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T3" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T4" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "T5" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT1" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT2" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "TT3" Then
ActiveCell.Interior.ColorIndex = 28
ElseIf ActiveCell.Text = "Z1" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "Z2" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "Z3" Then
ActiveCell.Interior.ColorIndex = 53
ElseIf ActiveCell.Text = "U1" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "U2" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "U3" Then
ActiveCell.Interior.ColorIndex = 54
ElseIf ActiveCell.Text = "K" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "TEC" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "NEC" Then
ActiveCell.Interior.ColorIndex = 56
ElseIf ActiveCell.Text = "Str" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "ENT" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "KUR" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "SOF" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "SER" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "ORG" Then
ActiveCell.Interior.ColorIndex = 3
ElseIf ActiveCell.Text = "RE" Then
ActiveCell.Interior.ColorIndex = 3
Else: ActiveCell.Interior.ColorIndex = 2
End If
End Sub

Anzeige
...Und warum dann nicht BedingtFormat, ...
08.09.2014 23:17:10
Luc:-?
…Tiemo,
da hättest du das FarbRückstellProblem gar nicht erst?!
Besser informiert mit …

AW: ...Und warum dann nicht BedingtFormat, ...
09.09.2014 03:37:29
toteitote
Das lässt sich nicht bearbeiten mit mehr als drei variablen und mit dem automatischen cell-color erase funktioniert auch nicht, soweit mir bekannt ist...

Anzeige
AW: ..warum soll das nicht gehen
09.09.2014 14:53:50
Ewald
Hallo,
dafür gibt es die Oder-Formel
Gruß Ewald

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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