Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage zum Change-Event

Frage zum Change-Event
15.11.2003 12:18:46
Marco
Hallo,
ich habe gerade damit angefangen mich über Literatur in den Bereich VBA Programmierung mit Excel voranzutasten.
Dabei ist nun ein Problem aufgetreten.

Ich habe eine Tabelle mit sehr vielen Werten(ca. 50 Spalten und ca.2000 Zeilen)und möchte eine Prozedur schreiben, die Änderungen in den einzelnen Zellen erkennt und dokumentiert. Das soll, wenn es geht, wie folgt aussehen:
Änderungsdatum , neuer Inhalt, alter Inhalt.

An den alten Inhalt komme ich mit Hilfe des Change-Events, aber den alten Wert bekomme ich nicht mehr. Ich dachte das es event. über das Selection-Event geht,aber dann wird es immer doppelt doppelt ausgeführt und wirft meinen Programmablauf mit den Zählvariablen durcheinander.

Ich wollte nun wissen, ob es eine Möglichkeit gibt dieses Problem zu beheben?
Gibt es zum Beispiel eine Möglichkeit an die Zwischenablage von Excel heran zukommen?
Bei Excel ist es ja so, daß wenn ich in eine Zelle gehe, einen anderen Inhalt einfüge und dann die "ESC"-Taste drücke, daß dann der alte Inhalt wieder da ist. Kann ich so etwas programmieren oder komme ich an diesen Wert ran?

Für Antworten bin ich im voraus schonmal dankbar.

MfG

Marco

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

Betreff
Datum
Anwender
Anzeige
AW: Frage zum Change-Event
15.11.2003 12:48:36
ChrisL
Hi Marco

Würde den Ansatz mit Selection_Change Ereignis weiter verfolgen. Die doppelte Ausführung verhinderst du mit Application.EnableEvents = False bzw. = True im Change Ereignis. Dabei solltest du aber darauf achten, dass du eine Fehlerroutine einbaust, welche EnableEvents in jedem Fall wieder auf True zurück setzt.

On Error Goto ErrorHandler

Application.EnableEvents = False
' Dein Code
Application.EnableEvents = True

Exit Sub
ErrorHandler:
MsgBox "Fehler"
Application.EnableEvetns = True


Fehler können z.B. entstehen, wenn jemand mittels Copy/Paste einen ganzen Bereich reinkopiert. Alle möglichen Eventualitäten abzufangen wird generell schwierig. Die sauberste Lösung wäre vermutlich, die Mutationen per Userform vorzunehmen, was dann natürlich auch einiges an Arbeit bedeutet.

Gruss
Chris
Anzeige
AW: Frage zum Change-Event
15.11.2003 12:52:50
Nepumuk
Hallo Marco,
ich habe dir mal ein Beispiel geschrieben wie es geht. Das Protokoll kannst du nur im VBA-Editor einblenden, in dem du die Visible - Eigenschaft im Eigenschaftsfenster änderst.

Die Datei https://www.herber.de/bbs/user/1982.xls wurde aus Datenschutzgründen gelöscht


Gruß
Nepumuk
AW: Frage zum Change-Event
17.11.2003 17:15:48
Marco
Vielen Dank, für deine Hilfe.
Die Variante funktioniert gut, ist komfortabler als als meine Methode. Leider bekomme ich es nicht hin, dass ich mehrere Zeilen gleichzeitig ändern kann. Sobald ich mehr als zwei Zellen habe, springt die Prozedur beim ".Undo" heraus. In der Literatur finde ich nichts gescheites. Aber irgendwo, muß Excel die Daten doch zwischenspeichern, vielleicht als Range-Objekt oder etwas anderes???
Hast du vielleicht noch eine Idee oder kann mir vielleicht jemand anderes helfen.

Vielen Dank schonmal.

MfG
Marco
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige