Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

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

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige