Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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

Worksheet_Change bei Ausschneiden und Einfügen

Worksheet_Change bei Ausschneiden und Einfügen
01.08.2014 08:31:21
Robert
Hallo zusammen,
Ich bin grade ein ein etwas ungewöhnliches Problem geraten und komme irgendwie nicht weiter.
Bei Verwendung von Ausschneiden und Einfügen (Strg + X gefolgt von Strg + V) feuert das Worksheet_Change Event zwei Mal.
Einmal nimmt er wahr, dass sich die ausgeschnittene Zelle ändert, beim zweiten Mal die eingefügte Zelle.
Nun markiere ich mit meiner Funktion geänderte Zellen gelb.
Dazu werden im Workbook_Sheetactivate die Zellwerte in ein Array geschrieben und im Worksheet_Change mit den neuen Werten verglichen.
Mein Problem:
Die eingefügte Zelle wird nicht markiert!
Das liegt daran, dass Excel die Zelländerung der eingefügten Zelle erst im Zweiten Anlauf von Worksheet_Change abfängt, der neue Wert aber bereits nach dem ersten Worksheet_Change Event in der Zelle steht.
Nach jedem Worksheet_Change Event wird das Array der "alten" Werte neu gefüllt.
Da liegt das Problem.
Den beim Ausschneiden und Einfügen werden also zwischen den beiden Change Events die Werte Zwischengespeichert.
Mein Programm denkt also "keine Änderung, der Wert war vorher schon da"
Ich hoffe ich habe das verständlich ausgedrückt.
Hat einer von euch eine Idee das Problem zu lösen?

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change bei Ausschneiden und Einfügen
01.08.2014 09:09:07
Nepumuk
Hallo,
da ich deine Prozedur nicht kenne, kann ich nicht genau sagen ob es dir hilft. Aber hast du schon mal daran gedacht den CutCopyMode abzufragen? So nach dem Muster:
If Application.CutCopyMode = xlCut Then
Gruß
Nepumuk

AW: Worksheet_Change bei Ausschneiden und Einfügen
01.08.2014 09:25:21
Robert
Hallo Nepumuk,
Interessanter Ansatz, hatte ich nicht auf dem Schirm, werde ich mir definitiv merken.
Leider hilft mir das insofern nicht weiter, dass der xlCut zwar Wahr ist, wenn ich STRG + X drücke,
das Worksheet_Change Ereignis aber erst beim Einfügen triggert, wenn xlCut schon wieder auf False steht (und dann läuft es eben zweimal hintereinander).
Warum Excel Löschen von Zelle A und Einfügen in Zelle B als zwei seperate _Change Prozesse sieht kann ich ja noch nachvollziehen. Nicht aber, dass beide Aktionen bereits nach dem ersten _Change Ereignis fertig durchgeführt sind, im Event aber nur die Zelle A als Target aufgeführt wird.
Das Zweite _Change Event wird nachgelagert mit Zelle B als Target getriggert, da ist das Einfügen aber bereits komplett vorbei und mein Programm kann eben keine Änderungen erkennen.
Gibt es ein Event wie "Wenn du fertig bist mit Rechnen, dann"?
Ich Möchte das SheetActivate ja eigentlich erst triggern, nachdem sämtliche Makros durchgelaufen sind.
Viele Grüße
Robert

Anzeige
AW: Worksheet_Change bei Ausschneiden und Einfügen
01.08.2014 11:42:41
Werner
Hallo Robert,
schon mal mit dem Worksheet calculate Ereignis probiert?
Gruß Werner

AW: Worksheet_Change bei Ausschneiden und Einfügen
01.08.2014 13:03:16
Robert
Hallo Werner,
auch das habe ich versucht, habe es aber nichts zustande gebracht.
Habe es jetzt mit einem Flag in Worksheet_Selectionchange Ereignis gelöst.
Falls xlCut = True, wird nach dem Worksheet_Change Ereignis das WerteArray nicht erneuert.
Vielen Dank an Nepumuk für den entscheidenden Hinweis :)
Viele Grüße
Robert

235 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige