VBA - Welchen Inhalt hat eine Zelle die mit der Taste Enft geleert wird?
Hallo an alle,
ich habe eine Excel Tabelle, bei der u. a. Zellen weiß eingefärbt werden, sobald ein Wert eingetragen wurde und die Zelle grau eingefärbt wird, wenn kein Wert eingetragen wurde. Das klappt mit VBA soweit auch ganz gut (fast). Merkt man nun, dass der Wert, den man eingegeben hat in der falschen Zelle ist und man die Zelle dann mit der Taste Entf "leert" klappt das mit der Färbung nicht mer und ich bekomme eine "Typen Unverträglich" Fehlermeldung.
Daher die Frage: Welchen Zellinhalt hat die Zelle, wenn diese mit Entf geleert wurde?
Überprüfung auf "" --> bekomme ich die besagte Fehlermeldung
Überprüfung auf IsEmpty --> liefert false zurück
Überprüfung auf isNullString --> liefert false zurück
Kann mir jemand weiterhelfen?
Vielen Dank
Gruß
Juckie
ich habe eine Excel Tabelle, bei der u. a. Zellen weiß eingefärbt werden, sobald ein Wert eingetragen wurde und die Zelle grau eingefärbt wird, wenn kein Wert eingetragen wurde. Das klappt mit VBA soweit auch ganz gut (fast). Merkt man nun, dass der Wert, den man eingegeben hat in der falschen Zelle ist und man die Zelle dann mit der Taste Entf "leert" klappt das mit der Färbung nicht mer und ich bekomme eine "Typen Unverträglich" Fehlermeldung.
Daher die Frage: Welchen Zellinhalt hat die Zelle, wenn diese mit Entf geleert wurde?
Überprüfung auf "" --> bekomme ich die besagte Fehlermeldung
Überprüfung auf IsEmpty --> liefert false zurück
Überprüfung auf isNullString --> liefert false zurück
Kann mir jemand weiterhelfen?
Vielen Dank
Gruß
Juckie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 332219
Url: https://administrator.de/forum/vba-welchen-inhalt-hat-eine-zelle-die-mit-der-taste-enft-geleert-wird-332219.html
Ausgedruckt am: 22.12.2024 um 20:12 Uhr
3 Kommentare
Neuester Kommentar
Dann hast du nicht beachtet das "target" nicht nur eine Zelle sondern ein Array aus Zellen sein kann wenn der User mehrere Zellen markiert und dann entf drückt!
http://www.vbforums.com/showthread.php?504565-Excel-Cell-Deleted-event
Also spreche jede Zelle der Markierung an
oder sprech die erste Zelle direkt mit Index an
p.
http://www.vbforums.com/showthread.php?504565-Excel-Cell-Deleted-event
Also spreche jede Zelle der Markierung an
for each cell in Target.cells
' cell.Value
Next
target.Cells(1).Value
Im Modul der betreffenden Tabelle
Das funktioniert auch, wenn mehrerer Zellen gleichzeitig markiert und geleert werden.
Private Sub Worksheet_Change(ByVal Target As Range)
If Trim(Target.Text) = "" Then
'Zelle wurde geleert
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = vbRed
End With
Else
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = vbWhite
End With
End If
End Sub
Das funktioniert auch, wenn mehrerer Zellen gleichzeitig markiert und geleert werden.