kann ich wie bei
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
z.B. abfragen ob eine Zeile gelöscht wurde, wenn ja wie?
ciao
Atikar
Sub GeloeschteSuchen()
Dim X
For X = 1 To 65536
If Cells(X, 1).Value Cells(X, 1).Row Then MsgBox "Es wurde mind. eine Zeile gelöscht" & _
vbLf & "erster Fund: Zeile " & X & " !": Exit Sub
Next
End Sub
Beim Löschen einer Zeile wird außerdem die letzte Zeile in Spalte A keinen (Value.Wert) mehr haben, da alle Zeilen um eins nach oben rutschen. Sprich beim löschen einer Zeile ist Zelle(A65536) leer!
Wurden 2 Zeilen gelöscht sind am Ende der Spalte 2 Zellen leer! u.s.w. Das könnte man ebenfalls abfragen.
Ich hoffe das hilft Dir ein Stück weiter.
Gruß Matthias
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Target.EntireRow.Address Then
MsgBox "Zeile wurde verändert"
End If
End Sub
prüfen, ob eine ganze Zeile manipuliert wurde.
ob aber gelöscht, eingefügt oder nur de Zellen geleert oder gefärbt wurden, kann man so nicht entscheiden.
das könntest du allderdings mit diesem Code prüfen:
es wird unterhalb der Tabelle ganz rechts ein Namen definiert und dessen Zeile gespeichert.
Wenn jetzt die Zeile des Namen kleiner wird als der gespeicherte Wert, wurde eine ganze Zeile gelöscht
(was dieser Code natürlich nicht findet, ist wenn nur teilweise Zellen gelöscht werden.
Option Explicit
Dim LetzteZeile As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ze As Long
On Error GoTo Namen_einfügen
ze = Range("LeZe").Row
On Error GoTo 0
If ze
Grußm Daniel
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Target.EntireRow.Address Then
MsgBox "Zeile wurde verändert"
End If
End Sub
hat super funktioniert
danke
atikar