Ich habe eine Funktion, die überwacht ob ein bestimmter Buchstabe in "eine" Zelle eingegeben wurde und verändert dann entsprechend die Hintergrundfarbe. Das ganze ist in etwa wie eine bedingte Formatierung mit mehr als 3 Bedingungen.
<pre>
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "l" Then
Target.Value = "L"
Target.Interior.ColorIndex = 22
End If
If Target.Value = "u" Then
Target.Value = "U"
Target.Interior.ColorIndex = 5
End If
If Target.Value = "k" Then
Target.Value = "K"
Target.Interior.ColorIndex = 3
End If
If Target.Value = "d" Then
Target.Value = "D"
Target.Interior.ColorIndex = 6
End If
If Target.Value = "a" Then
Target.Value = "A"
Target.Interior.ColorIndex = 7
End If
If Target.Value = "v" Then
Target.Value = "V"
Target.Interior.ColorIndex = 17
End If
End Sub</pre>
Das ganze soll zum einen nur auf einen bestimmten Bereich angewendet werden und zum anderen immer nur auf "eine" Zelle. z.Z. ist es so, wenn ich mehrere Zellen kopiere und wo anders einfüge, erhalte ich einen Laufzeitfehler und der Debugger bleibt in der ersten Zelle (If Target.Value = "l" Then)hängen. Dasselbe tritt auf, wenn sich die Inhalte mehrerer Zellen verändern. Was muß ich tun, damit der Laufzeitfehler nicht auftritt, oder kann man die Ausgabe des Fehlers blockieren?
Gruß Thomas