Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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
Inhaltsverzeichnis

Prüfen ob Worksheet VBA code enthälst

Prüfen ob Worksheet VBA code enthälst
09.10.2023 14:26:37
Theo Tiger
Hallo liebe Experten,

manchmal sieht man vor lauter Bäumen den Wald nicht!

Ich habe eine Arbeitsmappe, bei der ich in bestimmten, gleich aufgebauten Tabellen anstelle von Formeln und bedingten Formatierungen einfach VBA code verwende um bestimmte Werte zu errechnen und Werte zu markieren. Die Tabellen beinhalten jeweils Worksheet_Change und Worksheet_SelectionChange Macros um diese Berechnungen zu triggern. Soweit funktioniert alles auch ganz gut und die Mappe lässt sich durch einfaches Kopieren der Tabelle auch noch einfach erweitern.

Ich möchte jetzt abfangen, dass Nutzer einfach ein leeres Tabellenblatt manuell befüllen und sich dann wundern warum die Berechnung nicht automatisch vorgenommen wird.

Anders gesagt, muss ich überprüfen, ob das Tabellenblatt Macro code enthält. Gibt es dazu einen einfachen Trick?

Danke und Gruss

Theo

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Worksheet VBA code enthälst
09.10.2023 14:42:54
Oberschlumpf
Hi Theo,

sorg einfach dafür...
- dass die Datei nur mit aktivierten Makros genutzt werden kann
- dass andere User - nicht - einfach ein leeres Tabellenblatt hinzufügen können

Ciao
Thorsten
AW: Prüfen ob Worksheet VBA code enthälst
09.10.2023 15:31:41
daniel
Hi
mach's doch anders rum.
wenn du solche Event-Makros hast, die für alle oder zumindest viele Blätter der Mappe gelten sollen, dann musst du diese nicht für jedes Blatt neu schreiben, sondern du kannst diese einmalig im Modul "DieseArbeitsmappe" als "SheetChange" bzw "SheetSelectionChange" erstellen und sie gelten dann für alle Blätter in der Datei.
Wenn es Blätter gibt, bei denen diese Makros nicht ausgeführt werden sollen, kannst du ja Namen oder ein anderes Merkmal abfragen und das Makro dann abbrechen, oder du führst das Makro aus, wenn in einer bestimmten Stelle ein bestimmter Wert steht, und so kannst du dann steuern, für welche Blätter die Events ausgeführt werden und für welche nicht.

Wenn die Blätter aber stark unterschiedliche Event-Makros haben, so dass es sinnvoller ist, das Blatt zu kopieren, dann könntest du auch über Überprüfen - Schützen - Arbeitsmappe schützen den Struktur-Schutz aktiveren, dann kann der Anwender selbst keine Blätter hinzufügen.
Dafür schreibst du ihm dann ein Makro, dass er über einen Button auslösen kann und welches das neu Blatt über die richtige Art und Weise erstellt.

eine dritte Möglichkeit wäre, in der Mappe "DieseArbeitsmappe" das Event "Workbook_NewSheet" zu erstellen und hier prüfen, ob das neue Sheet (SH) auch die Makros enthält, bzw diese dann ergänzen, allerdings ist Code-per-Code zu bearbeiten nicht so ganz einfach.



Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige