Hallo Peter,
ohne genau Deine Datei und die darin enthaltenen VBA-Code zu kennen, könnte es unter Umständen daran liegen, dass ein Calculate-Ereignis den VBA-Code auslöst. Das könntest DU mit
[b]Application.Calculation = xlCalculationManual[/b]
abfangen. Dieser Befehl bewirkt, dass die Berechnung auf manuell gestellt wird und somit kein Calculate-Ereignis auslöst. Am Ende des Makros solltest Du das aber wieder mit
[b]Application.Calculation = xlCalculationAutomatic[/b]
einschalten.
Noch eine Möglichkeit wäre, sich eine Sperrvariable zu erzeugen, die mit Publik als Typ Boolean definiert wird (Achtung Public-Definition muss in einem StandardModul erstellt werden, damit der Wert in der gesamten Exceldatei verwendet, bzw. abgefragt werden kann), mit der man den Code an einer bestimmten Stelle, meist gleich am Anfanf eines VBA-Codes, diesen abbricht. Als Beispiel
[b]Public Sperre as Boolean[/b]
In Deinem Makro weiß Du der Variablen "Sperre" den Wert "True" zu. In dem zu löschenden Blatt setzt Du in jedem Worksheet-Ereignis in der ersten Zeile den Befehl
[b]If Sperre = True Then Exit Sub[/b]
Das bewirkt, dass der VBA-Code an der Stelle abgebrochen wird.
Ich hoffe, Du kommst klar. Ansonsten benötigt man sicherlich Deine Datei, um zu sehen, welches Ereignis dort anspricht und wie man das unterbinden kann.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.