Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfen ob "Zeile eingefügt?"

Prüfen ob "Zeile eingefügt?"
09.01.2008 20:25:00
jeff
Hallo,
ich möchte, daß nachdem das Worksheet geöffnet wurde und solange es geöffnet bleibt automatisch geprüft wird, ob eine (ganze) zeile irgendwo eingefügt wurde.
Meine Frage ist nun
a) wie ich das per vba in das worksheet integriere. Dh über ein Private Sub Worksheet_Change Event?
b) wie sollte die Prüfung "Zeile eingefügt" erfolgen, zB über "Selection.EntireRow.Insert"?
Was meint ihr?
Danke

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob "Zeile eingefügt?"
09.01.2008 20:36:48
Horst
Hi,
glaube mich zu erinnern, dass in Excel 2000 das Change-Ereignis beim Einfügen von Zeilen gar
nicht ausgelöst wurde? Hast du das schon getestet?
mfg Horst

AW: Prüfen ob "Zeile eingefügt?"
09.01.2008 20:48:00
jeff
Hi Horst,
gute Frage, ich habe noch nicht getestet, ob durch dass Einfügen einer Zeile das Change-Ereignis ausgelöst wird!?
Aber anders herum gefragt, angenommen nein, was wäre ein Alternative, um bei geöffnetem Workbook im Hintergrund zu prüfen, ob eine Zeile im Sheet eingefügt wurde?
Gruss
J.

AW: Prüfen ob "Zeile eingefügt?"
09.01.2008 23:10:06
Daniel
Hi
unter der Vorraussetztung, daß das Einfügen einer Zeile das Change-Event auslöst, könntest du diese Makros verwenden (Postition der Variablendeklaration beachten!):
1. Das kommt ins allgemeine Modul:

Option Explicit
Public Zeilen_alt As Long


2. Das kommt ins Modul "DieseArbeitsmappe" (Blattnamen ggf. anpassen)


Private Sub Workbook_Open()
Zeilen_alt = Sheets("Tabelle1").UsedRange.Rows.Count
End Sub


3. und das kommt ins Modul der Tabelle:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zeilen_neu As Long
Zeilen_neu = ActiveSheet.UsedRange.Rows.Count
Select Case Zeilen_neu
Case Is = Zeilen_alt
Case Is  Zeilen_alt
MsgBox Zeilen_neu - Zeilen_alt & " Zeilen eingefügt"
End Select
Zeilen_alt = Zeilen_neu
End Sub


Es ist zwar nicht so ganz exakt, weil es nicht auf Einfügen reagiert, sondern die grösse der Usedrange prüft, dh du bekommst auch ne meldung , wenn du unterhalb der letzen Zeile weiter Daten in eine Zelle schreibst, aber eine andere einfache Möglichkeit wäre mir nicht bekannt.
Gruß, Daniel

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige