Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1808to1812
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

VBA-Prozedur

VBA-Prozedur
25.01.2021 14:01:57
Johannes
Hallo! Ich habe folgendes Problem:
Ich habe eine EXCEL-Arbeitsmappe (EXCEL 2003) in der ich jeden Tag ein neues Tabellenblatt hinzufüge, indem ich das letzte Tabellenblatt kopiere. Ich habe einige VBA-Prozeduren programmiert, die über Command-Buttons angesprochen werden und bestimmte Dinge erledigen. Zu jedem Tabellenblatt gibt es also eine "VBA-Seite" (sagt man so?) mit verschiedenen "Private Sub's". Mit steigender Zahl der Tabellenblätter wird EXCEL immer langsamer, bis irgendwann gar nichts mehr geht und ich ältere Tabellenblätter löschen muss.
Mir ist klar, dass ich so, wie ich das bisher mache, jede Menge überflüssigen Ballast mit mir rumschleppe, da für jedes neue Tabellenblatt auch der gesamte VBA-Code mitgenommen wird. Eigentlich benötige ich die VBA-Module ja nur einmal. Aber sie sollen in jedem neuen Tabellenblatt über die immer gleichen Command-Buttons angesprochen werden.
Ich habe etwas rumprobiert, bekomme es aber nicht hin. Wäre für eine Hilfestellung (wenn's geht dummyverständlich) sehr dankbar.
Viele Grüße
Johannes

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Prozedur
25.01.2021 14:14:57
Nepumuk
Hallo Johannes,
zeig doch mal den Code der Tabelle.
Gruß
Nepumuk
AW: VBA-Prozedur
25.01.2021 14:26:18
Daniel
Hi
Wenn es nur Buttons sind und auf jedem Blatt die gleichen mit den den selben Codes dahinter, dann schreibe die einzelnen Button-Makros um in normale Makros in einem allgemeinen Modul und ersetze die ActiveX-Buttons durch Formularfeldbuttons welchen du das jeweilige Makro aus dem allgemeinen Modul zuweist.
Diese Makros können für mehrere Buttons verwendet werden, so dass sich die Menge des Codes mit der Anzahl der Blätter nicht erhöht, sondern unverändert bleibt.
Wenn du die Verknüpfung der Buttons mit den Makros in der Vorlage gemacht hast, werden diese beim kopieren des Blattes übernommen.
Hast du such Eventmakros (Change, SelectionChange), die für alle Blätter gelten swollen, so schreibe diese im Modul "Diese Arbeitsmappe". Die dort erstellen Tabellen-Eventmakros gelten automatisch für alle Blätter, so dass sie in den Tabellenblattmodulen nicht wiederholt werden müssen.
Gruß Daniel
Anzeige
AW: VBA-Prozedur
30.01.2021 17:42:08
Johannes
Hallo Daniel,
vielen Dank für Deine Hilfe.
Habe es jetzt geschafft auf einem Arbeitsblatt eine Schaltfläche einzufügen und diese mit einem Code in einem VBA-Modul zu verbinden. Das funktioniert auch so, wie ich es wollte. Die Schaltfläche wird in jedes neu hinzukopierte Tabellenblatt übernommen und der Code korrekt ausgeführt.
Aber leider sind die Gestaltungsmöglichkeiten bei einer Schaltfläche sehr begrenzt. Nur ein schlichtes Grau als Hintergrund ist möglich. Ich habe gelesen, dass das mit einer Userform besser geht. Aber da stecke ich jetzt fest. Weiß nicht, wie ich eine Userform in mein Tabellenblatt einbinden kann. Wenn ich es richtig verstanden habe, dann kann ich über eine Userform eine Schaltfläche programmieren, die dann wiederum den Code im Modul ausführt. Vielleicht kannst Du ja noch mal helfen.
Viele Grüße
Johannes
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige