Worksheet_change tritt nicht ein
16.02.2004 16:11:39
Philipp Maurer
ich habe folgendes Problem. In einem recht umfangreichen Add-In (Assistent zu Leistenplanerstellung mit Schaltsymbolen, automatischem Brücken etc. für Excel).
Das Add-In besteht aus 3 Forms (eine MainForm, About-Dialog etc) und einem Modul mit einem Makro, das eigentlich nur die MainForm (frmMain.Show) aktiviert.
Alles andere wird von dort aus organisiert.
Habe ich nun folgendes Problem:
Es wird unbedingt eine Undo-Function erwünscht, die den letzten Schritt (z.B. Ertstellung eines Schaltsymbols mit Bezeichnung oder das erstellen einer kompletten Brücke) rückgängig machen soll. Eine eigene Undo-Function (mittels
Application.OnUndo Procedure:=....) ist aufgrund der Komplexität der Vorgänge und Symbole nicht möglich, da ein Mitschreiben und Umkehren der Funktionen einen fast uneendlichen Aufwand bedeuten würde.
Also werde ich wohl oder übel immer komplette Kopien der Datei mittels SaveCopyAs in einem festgelegten "Puffer-Pfad" erstellen und bei Wunsch einfach intelligent (z.B. nur das jeweilige ActiveSheet oder so) wieder laden.
Das Problem bestht jetzt darin, das ich nach jeder Änderung Worksheet_Change eine Kopie erstellt werden muss. Aber dieses Ereignis tritt nie ein !!
Ich habe die Sub Worksheet_Change in frmMain kopiert, im Modul, als Public und Private deklariert !! SIe tritt nicht ein. Auch das Beispiel aus der Excel hilfe (Editierte Zeilen mit blauer Schrift) tritt nicht ein !! Ich denke das Problem liegt darin, das die Sub überhaupt nicht von Excel aufgerufen wird...Wo muss sie stehen ?? (Programm ist ein Add-In)