In Excel Makros aus aktiven Sheet löschen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Entferne das Makro vom Tabellenblatt selbst und packe es in ein Modul.
Dann rufe das Makro nur auf wenn es das neue Tabellenblatt braucht. ggf über eine Tastenkombination, oder zufügen im Menu, oder einem separaten Knopf irgendwo.
..
Hier wird erklärt wie man per Code Module löschen kann.
per VBA alle Module löschen (office-hilfe.com)
Ob dies analog auch Code anwendbar ist, der sich "am Blatt" befindet, gilt es zu testen.

Baumhaus65 
Fragesteller
 04.10.2022, 21:42

Das geht glaube nicht so einfach, da ich einige

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)

und

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

verbaut habe

0
IchMalWiederXY  04.10.2022, 21:44
@Baumhaus65

mmhh. Einfach per Makro Code löschen, oder das Verschieben des bisherigen Code in ein Modul ? Letzteres hat keinen Einfluss auf anderen Code.

0
Baumhaus65 
Fragesteller
 04.10.2022, 21:47
@IchMalWiederXY

Ich habe ein Dienstplan erstellt, und Da wird immer ein Sollplan gespeichert, der nicht verändert werden darf. Am anfang des Jahres ist der Plan ca 4,5 Mb groß und am ende des Jahres 11Mb. Das ist sehr viel, und ich weis nicht, ob mir das der Server und die Admins mal übel nehmen. einfach per Makro löschen währe glaube ich die beste lösung. Ich kenne aber nur eine, die alle Macros löscht, und nicht nur die im aktuellen sheet

0
IchMalWiederXY  04.10.2022, 21:51
@Baumhaus65

Wenn sie euch dies mit Excel machen lassen anstatt einem Tool dass dafür geeignet ist selbst Schuld. ABER.
Dein Code der dann ins Modul verschoben ist. Wird dabei NIE MEHR verdoppeln.
Sondern NUR deine Vorlagen Seite, dies sich im Hintergrund befindet für einen weiteren Monat vervielfältigt und sichtbar.
..ist auch eine Lösung, die ich für diverse Excel Lösungen umgesetzt habe.
11MB ist am Ende auch nicht wirklich "groß".
Meine schlimmste Excel hat ~320MByte. (Macht aber auch keinen Spaß mehr, diese zu verwenden.)

1
Baumhaus65 
Fragesteller
 04.10.2022, 21:53
@IchMalWiederXY

Kannst du mir da ein bischen auf die Sprünge helfen, wie ich das anstellen kann

0

Zunächst den Code, der sich am Blatt befindet:

Bild zum Beitrag

in ein Modul verschieben
Hierfür im Projekt Explorer "rechte maus" klicken und "Modul Einfügen" wählen.
Dann den Code per Strg+x aus der tabelle herauskopieren und im Modul pasten

Bild zum Beitrag

Anschließend könntest du auf deiner Vorlage einen Knopf anbringen.
Dies ist ein abgerundetes Rechteck, das man zum "knopf" umgestallten kann, um dann letztlich auch DEIN Makro zuzuweisen.

Bild zum Beitrag

Ist dieser Knopf auf deiner Vorlage vorhanden wird NUR der Knopf ebenfalls kopiert. Diesen kannst du dann anschließend auf dem neuen Blatt löschen.
ABER hierbei ACHTUNG, dass du das MAKRO NICHT erneut auslöst.
Also mit rechter Maus markieren und entfern drücken.
(Oder per VBA Code, diesen button (ist ein Shape) löschen.)

 - (Microsoft Excel, VBA)  - (Microsoft Excel, VBA)  - (Microsoft Excel, VBA)
Baumhaus65 
Fragesteller
 04.10.2022, 22:13

Ok, das werde ich versuchen, wird wohl ne weile dauern, bis ich dir schreiben kann ob es funktioniert. Ich habe mir das einfacher vor gestellt.

Ich Danke dir für deine Bemühungen

0
IchMalWiederXY  04.10.2022, 22:15
@Baumhaus65

Es ist "einfach". Dein Code existiert ja schon. Er wird nur im einem Modul ausgeführt. ..nicht vom ungewohnten irritieren lassen. Viel Erfolg

1