Supportnet / Forum / Tabellenkalkulation
Makroausführung unterbrechen bis Berechnung beendet
Frage
Hallo,
ich habe ein Makro in Excel, das mit "ActiveWorkbook.RefreshAll" Verknüpfungen zu einer Access-DB aktualisiert. Das Dokument enthält sehr viele SVERWEISe, weshalb die Berechnung etwas dauert. Nach "ActiveWorkbook.RefreshAll" erfolgt das Schützen der Tabellenblätter. Mit dem Schreibschutz ist das Makro aber schneller, als mit der Berechnung, weshalb dann ein Fehler erscheint, dass das Arbeitsblatt (das berechnet werden soll) schreibgeschützt sei.
Kann ich das Fortsetzen des Makros davon abhängig machen, ob die Berechnung abgeschlossen ist? Sonst müsste ich mit "Wait" arbeiten, aber die Berechnung dauert ja nicht immer gleich lang, weshalb das nur die suboptimale Lösung wäre.
Danke für eure Hilfe
Jojo
Antwort 1 von Kauz1
Hallo Jojo...
könntest Du dafür vielleicht das Change-Ereignis eines Tabellenblatts bzw. der Mappe verwenden?
D.h.: Der Schreibschutz wird dann aktiviert, wenn sich die Auswahl auf dem Tabellenblatt ändert, oder auch wenn ein anderes Tabellenblatt ausgewählt wird.
Falls Dir das nicht zu unsicher ist
Gruß Andreas
könntest Du dafür vielleicht das Change-Ereignis eines Tabellenblatts bzw. der Mappe verwenden?
D.h.: Der Schreibschutz wird dann aktiviert, wenn sich die Auswahl auf dem Tabellenblatt ändert, oder auch wenn ein anderes Tabellenblatt ausgewählt wird.
Falls Dir das nicht zu unsicher ist
Gruß Andreas
Antwort 2 von jojo4
das hört sich interessant an. Wenn ich das richtig verstehe, könnte ich das Makro in Ruhe fertig berechnen lassen und der Schutz wird erst aktiviert, sobald man nach Ende des Makros ein Tabellenblatt aufruft? Dann wäre noch EINE Lücke: Die erste Aktion des Anwenders erfolgt auf einem ungeschützten Tabellenblatt ... oder ist dieser Moment mit "... wenn sich die Auswahl auf dem Tabellenblatt ändert ..." gemeint?
Hast Du mir da ein Code-Beispiel?
Danke, Gruß
Jojo
Hast Du mir da ein Code-Beispiel?
Danke, Gruß
Jojo