Microsoft Excel

Herbers Excel/VBA-Archiv

Delete und mehr als 3 bedingte Formatirungen

Betrifft: Delete und mehr als 3 bedingte Formatirungen
von: Pius
Geschrieben am: 23.04.2003 - 07:43:41

Hallo
Mit nachstehendem Code den ich im Forum gefunden habe definiere ich mehr als drei bedingte Formatirungen.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim EBereich As Range
Set EBereich = Range("a1:AI100")
If Intersect(Target, EBereich) Is Nothing Then Exit Sub
ActiveSheet.Unprotect

If Target.Value = 1 Then
Target.Interior.ColorIndex = 4
'Target.Interior.Pattern = xlSolid
End If

If Target.Value = 2 Then
Target.Interior.ColorIndex = 6
'Target.Interior.Pattern = xlSolid
End If

If Target.Value = 3 Then
Target.Interior.ColorIndex = 3
'Target.Interior.Pattern = xlSolid
End If

If Target.Value = 4 Then
Target.Interior.ColorIndex = 5
'Target.Interior.Pattern = xlSolid
End If

If Target.Value = "" Then
Target.Interior.ColorIndex = 35
'Target.Interior.Pattern = xlSolid
End If
ActiveSheet.Protect
End Sub

nun wenn ich im selben bereich einige zellen Markiere und dann mit der Delete Taste den inhalt löschen will kommt der Debugger und geht zum bereich If Target.Value = 1 Then
Wenn ich in der Activen Zelle den Inhalt löschen will gibts kein problem.

Wie kann ich das lösen, dass auch in einem markierten Bereich der Inhalt gelöscht werden kann.



  

Re: Delete und mehr als 3 bedingte Formatirungen
von: Harald Neumann
Geschrieben am: 23.04.2003 - 08:18:23

Guten Morgen Pius,

wenn Du eine Fehlerbehandlung einbaust, hasst Du Dein Problem gelöst.

On error goto Fehlerbehandlung

Source Code

Exit Sub


Fehlerbehandlung:
Exit Sub

Gruss Harald

  

Re: Delete und mehr als 3 bedingte Formatirungen
von: Pius
Geschrieben am: 23.04.2003 - 09:59:43

Hallo Harald

Danke schon mal für deine Hilfe

das mit der Fehlerhandhabung habe ich noch nie erstellt
kannst du mir da noch auf die Sprünge Helfen?
Danke
Pius


  

Re: Delete und mehr als 3 bedingte Formatirungen
von: Pius
Geschrieben am: 23.04.2003 - 10:27:22

Hallo Harald

Ich habe da was versucht.

On Error GoTo Fehler

Fehler:
If Intersect(Target, Range("O6:BL50")) Is Nothing Then
Target.Interior.ColorIndex = 35
End If

Nun mein Problem
ich kann wohl den Inhalt löschen die Formatierung wird aber nicht zurück gesetzt
wie kann ich auf den nächsten code verweisen ohne das sich eine endlos schlaufe entsteht


If Target.Value = "" Then
Target.Interior.ColorIndex = 35
End If

Gruss Pius

  

Re: Delete und mehr als 3 bedingte Formatirungen
von: Harald Neumann
Geschrieben am: 23.04.2003 - 10:45:18

Hallo Pius,

Du kannst explizit die Fehlernummer abfangen:

Fehler:

If Err.Number=13 then
Selection wieder auf weiss setzen
exit sub
Else
....
Endif
End Sub

Um die Formatierung zurückzusetzen kannst Du entweder eine leere weisse Zelle auf den Bereich kopieren, oder den selektierten Bereich (Selection) wieder auf weiss setzen.

Gruss Harald

 

Beiträge aus den Excel-Beispielen zum Thema "Delete und mehr als 3 bedingte Formatirungen"