Anzeige
Archiv - Navigation
1676to1680
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
Inhaltsverzeichnis

Workbook_SheetChange und Zeilen löschen

Workbook_SheetChange und Zeilen löschen
28.02.2019 16:20:39
Werner
Hallo Forum,
ich habe da eine Frage zu Workbook_SheetChange: wie kann ich erkennen, dass Zeilen gelöscht wurden?
Gruß
Werner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 16:24:39
Giorgi
Moin,
Würde dir die Forumssuche mal empfehlen.
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 17:45:35
Werner
Hallo Giorgi,
auf Deinen Kommentar hätte ich gerne verzichten können. Natürlich habe ich zuvor sowohl im Herber-Forum als auch im Internet nach einer Lösung gesucht. Hätte ich dort eine Antwort gefunden, hätte ich meine Frage nicht im Forum gestellt.
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 16:25:24
Mullit
Hallo,
wie jetzt?...ich glaub Du mußt ein bißchen deutlicher werden...;-)
Gruß, Mullit
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 17:55:29
Werner
Hallo Mullit,
was ist an meiner Fragestellung unverständlich?
Wenn ich nach der Zeile 9 zwei Zeilen einfüge, wird mir als Range-Address $9:$10 zur Verfügung gestellt.
Target.Rows.Count zeigt mir an, dass zwei Zeilen eingefügt wurden.
Wenn ich nun Zeile 9 und 10 lösche, wird mir als Range-Address $9:$10 zur Verfügung gestellt.
Target.Rows.Count zeigt mir an, dass zwei Zeilen gelöscht wurden.
Meine Frage: wie kann ich feststellen, ob Zeilen eingefügt oder ob Zeilen gelöscht wurden. Die Informationen, welche mir bekannt sind, sind in beiden Fällen identisch!

Gruß
Werner
Anzeige
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 18:00:52
Mullit
Hallo,
für mich jede Menge, aber das spielt doch keine Rolle, Daniel hat Dir doch schon einen Vorschlag angefertigt, mußt halt schonmal gucken...;-)
Gruß, Mullit
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 17:12:16
Daniel
Hi
nur mit einem Workaround:
Zu Anfang musst du auf dem jeweiligen Blatt einen Zellbereich mit bestimmter Größe einem Namen zuweisen.
die Anzahl der Zeilen des Bereichs merkts du dir in einer Variablen
im Change-Event vergleichst du dann die aktuelle Zeilenanzahl des Namens mit der in der Variablen gemerkten Anzahl, ist die aktuelle Zeilenzahl kleiner, wurden Zeilen gelöscht.
hierzu dann dieser Code ins Modul "DieseArbeitsmappe"
Option Explicit
Public AnzahlZeilenAlt As Long
Const TestBereich As String = "1:100000"
Private Sub Workbook_Open()
ActiveSheet.Range(TestBereich).Name = "Test"
AnzahlZeilenAlt = Range("Test").Rows.Count
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Range(TestBereich).Name = "Test"
AnzahlZeilenAlt = Range("Test").Rows.Count
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Range("Test").Rows
If .Count 
gruß Daniel
Anzeige
AW: Workbook_SheetChange und Zeilen löschen
28.02.2019 17:59:37
Werner
Hallo Daniel,
Danke für Deine Antwort. Ich werde dies demnächst probieren und gehe davon aus, dass das so funktioniert. Der Vorschlag erscheint mir logisch.
Danke und Gruß
Werner
Workbook_SheetChange und Autofilter
02.03.2019 10:48:01
Werner
Hallo Daniel,
ich muß noch einmal nachhaken, weil ich beim Umsetzen Deines Vorschlags auf ein Problem gestoßen bin. Ich habe das Problem in einer Test-Mappe nachgebaut, welche ich hochgeladen habe.
https://www.herber.de/bbs/user/128039.xlsm
Hier meine Beschreibung: Weil ich in Bereichen über den Daten-Zeilen eine andere Spaltenbreite benötige, habe ich zwei Spalten miteinander verbunden. In diesen verbundenen Spalten steht mein erster Begriff. In der nächsten Spalte steht eine laufende Nummer. Danach folgt eine weitere Spalte (nur für den Test eingebaut), in welchem der Begriff aus der verbundenen Spalte wiederholt wird. Dann folgt noch eine Spalte mit der Länge des Begriffs.
Meine Tabelle hat eine Workbook_SheetChange-Routine, welche in meiner Test-Version lediglich Debug.Print-Ausdrucke fertigt. Außerdem wird in Spalte "F" der Zeile, in welcher eine Änderung vorgenommen wurde, der mit "ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row" ermittelte MaxRows-Wert eingesetzt.
Schritt 1: Wenn ich - noch ohne Filter - in Spalte "F" irgendwo ein Zeichen eingebe, wird mir als "MaxRows" der Wert "18" angezeigt, was auch der Realität entspricht.

Schritt 2: Jetzt setze in in Spalte "E" den Filter für die Länge "5" und gebe in Zeile 17 in Spalte F ein Zeichen ein. Jetzt wird mir als MaxRows nur noch "17" angezeigt, was der letzten angezeigten Zeile durch die Filterung entspricht.
Schritt 3: Jetzt setze ich für Spalte A-B den Filter für "Scheren" und "Bohrer" und in Spalte "E für die Längen 6 und 7. Jetzt in Zeile 14 und Spalte "F" ein Zeichen eingeben, wird mir als MaxRows nur noch "15" angezeigt, was der letzten angezeigten Zeile durch die Filterung entspricht.
Schritt 4: Im nächsten Schritt lösche ich den Filter für die Spalten A-B, der Filter in Spalte "E" mit 6 und 7 bleibt gestehen, und gebe in Spalte "F" der Zeile 10 ein Zeichen ein. Wieder wird mir nur noch MaxRows mit "15" angezeigt, obwohl jetzt nur noch der Filter in Spalte "E" aktiv ist.
Schritt 5: Im nächsten Test entferne ich den Autofilter komplett und setze ihn jetzt nur noch für die Spalten C bis E. In Spalte "E" wähle ich wieder die "5" aus. In Zeile 8 Spalte "F" gebe ich ein Zeichen ein, und erhalte als MaxRows den Wert "17" angezeigt.
Schritt 6: Im letzten Test entferne ich erneut den Autofilter komplett und setze ihn jetzt nur noch für die Spalte D. In Zeile 8 Spalte "F" gebe ich ein Zeichen ein, und erhalte als MaxRows den Wert "17" angezeigt. Und, oh Wunder(?), jetzt erhalte ich wieder als MaxRows den Wert "18" angezeigt.
Frage 1: muß ich das verstehen?
Frage 2: wie kann ich verbindlich die Anzahl der belegten Zeilen feststellen; auf meine bisherige Technik ist - anscheinend - kein Verlass!
Gruß
Werner
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige