Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zellfarbe per VBA





Frage

Hallo an Alle, ich habe folgendes Problem, ich habe folgenden VBA Code in einer Exceldatei : Private Sub Worksheet_Change(ByVal Target As Excel.Range) Select Case Target.Value Case "OFF" Target.Interior.ColorIndex = 31 Case "RG" Target.Interior.ColorIndex = 3 Case "KOF" Target.Interior.ColorIndex = 3 Case "MER" Target.Interior.ColorIndex = 3 Case "U" Target.Interior.ColorIndex = 10 Case "U" Target.Interior.ColorIndex = 10 Case "U" Target.Interior.ColorIndex = 10 Case "U" Target.Interior.ColorIndex = 10 Case "U" Target.Interior.ColorIndex = 10 Case "SU" Target.Interior.ColorIndex = 10 Case Else Target.Interior.ColorIndex = xlColorIndexAutomatic End Select End Sub Dieser Code verändert die Zellfarben nach der Eingabe der jeweiligen Kürzel, wenn ich nun aber meherer Zellen markiere um die Kürzel aus den Zellen auf ein mal zu löschen, entsteht ein Laufzeitfehler. Kann einer VBA Spezies hier mir sagen ob und wie man das abstellen oder anders machen kann. Gruß Michael

Antwort 1 von JoeKe

Hallo Michael,

setze am Anfang deines Codes:

If Target.Count > 1 Then Exit Sub

Gruß

JöKe

Antwort 2 von Michael10

Hallo Jöke,

es lassen sich mit deiner Änderrung jetzt zwar die Kürzel ohne Laufzeitfehler auf ein mal löschen aber die geänderte Zellfarbe bleibt erhalten. Gibt es eine Möglichkeit das noch so ändern das beim löschen der Kürzel die Zellfarbe wieder neutral wird.

Gruß Michael

Antwort 3 von JoeKe

Hallo Michael,

so:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count > 1 Then
Target.Interior.ColorIndex = xlNone
Exit Sub
End If
Select Case Target.Value
Case "OFF"
Target.Interior.ColorIndex = 31
Case "RG"
Target.Interior.ColorIndex = 3
Case "KOF"
Target.Interior.ColorIndex = 3
Case "MER"
Target.Interior.ColorIndex = 3
Case "U"
Target.Interior.ColorIndex = 10
Case "SU"
Target.Interior.ColorIndex = 10
Case Else
Target.Interior.ColorIndex = xlNone
End Select
End Sub


Gruß

JöKe

Antwort 4 von Michael10

Hallo Jöke,

vielen Dank das ist es, Schönes WE noch.

Gruß Michael