Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
876to880
876to880
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code ausführen wenn Zeilen gelöscht wurden

Code ausführen wenn Zeilen gelöscht wurden
12.06.2007 17:32:00
Atikar
Hallo Leute,
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code ausführen wenn Zeilen gelöscht wurden
12.06.2007 18:38:09
Matthias
Hallo
Also das Abfragen ist so eine Trickysache.
Nummeriere mal die Spalte A von 1 bis 65536 durch
Dann lösche eine Zeile (egal welche)
Dieser Code sagt Dir das mind. eine Zeile gelöscht wurde

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!
Userbild
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

Anzeige
AW: Code ausführen wenn Zeilen gelöscht wurden
12.06.2007 21:02:53
Daniel
Hi,
du kannst auf jeden Fall mit

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

Anzeige
AW: Code ausführen wenn Zeilen gelöscht wurden
13.06.2007 10:23:00
Atikar
Hallo 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

AW: Code ausführen wenn Zeilen gelöscht wurden
13.06.2007 23:19:00
Daniel
Freut mich, daß ich helfen konnte.
aber wie gesagt, diese Methode stellt nur fest, daß eine ganze Zeile verändert wurde.
Was mit der Zeile gemacht wurde, kann man daraus nicht ableiten, dh. das Macro würde genaus reagieren, wenn du die Spaltenbreite änderst oder die Zellfarbe.
gruß, Daniel

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige