Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Wie Modulen Am besten Einsetzen.

Wie Modulen Am besten Einsetzen.
08.11.2022 16:29:32
Barolt
Hallo
Ich bin ein Anfänger in VBA mit etwas fortgeschrittene Niveau. Ich würde sehr gerne von profies wissen wie man am besten Modulen einsetzt.
Ich habe zB verschiedene Formulare und frmAllgemein; frmEinstellungen; frmFarben etc.... (Ist nur ein beispiel) zu diese Userforms habe ich dann wiederum die modulen modAllgemein; modEinstellungen; modFarben. Damit ist dann alles übersichtlich. Vor kurzem sagte mir jemanden das es "besser" wäre Modulen nach Steuerelementen zu ordnen. zB modCommandbuttons; modTextboxen. Natürlich ist es so möglich aber mein Gefühl sagt mir das es hierdurch sehr unübersichtlich werden kann.
oder sollte man vielleicht doch alles was mit Farben zu tun hat in ein Modul stecken? und alles mit Speichern in ein andere? modFarben; modEmail; modSpeichern
Bin sehr gespannt auf ProfiAntworten.
Vielen Dank fürs teilen euer gedanken :)
Barolt

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie Modulen Am besten Einsetzen.
08.11.2022 16:53:28
Oberschlumpf
Moin,
grundsätzlich könnte man Module in allen möglichen Darstellungen/Verwendungen anzeigen.
Deine Idee, pro Userform ein eigenes Modul zu verwenden, find ich gut, weil, genau, übersichtlich.
Die dir zugetragene Idee, für - jedes Control - = ein eigenes Modul = vergiss mal schnell wieder!!!
Das is a) nich nur unübersichtlich, sondern macht b) nach meiner Meinung auch keinen Sinn.
Ich könnt jetzt noch gaaaaanz viel mehr zur Verwendung von Modulen schreiben, aber a) hab ich dazu keine Lust :-) und b) müsste deine Frage ja beantwortet sein, oder?
Ciao
Thorsten
AW: Wie Module am besten einsetzen.
08.11.2022 16:57:11
Uduuh
Hallo,
die Userforms haben doch eigene Klassenmodule. Ergo alles was frmFarben betrifft auch in dessen Klassenmodul etc.
Gruß aus'm Pott
Udo
Anzeige
AW: Wie Modulen Am besten Einsetzen.
08.11.2022 17:10:49
Daniel
Hi
auf die Schnelle:
für ActiveX-Steuerelemente sind die Module doch festgelegt, nämlich im Modul desjenigen Objektes, dem das Steuerelement zugeordnet ist, also dem Modul der Mappe oder den Modulen der jeweiligen Tabellenblätter oder Userformen.
für die "allgemeinen" Funktionen und Makros in den allgemeinenen Modulen kannst du es so halten, wie es für dich am übersichtlichsten ist. Das hängt sehr davon ab, wie dein Projekt aufgebaut ist, wie modular du programmierst und noch von vielen anderen Dingen. So pauschal lässt sich das nicht sagen.
Lediglich davon, für jedes Makro ein eigenes Modul anzulegen solltest du abstand nehmen. Das ist wie jeden Satz auf eine Seite oder in ein eigenes Kapitel schreiben.
Was zusammen gehört, sollte man auch zusammen in ein Modul schreiben.
Das wichtigste ist, dass du, wenn du mal länger nicht an dem Code gearbeitet hast, die einzelnen Elemente schnell wiederfindest, ohne dich aufwendig einarbeiten zu müssen.
Gruß Daniel
Anzeige
AW: Wie Modulen Am besten Einsetzen.
09.11.2022 15:00:33
Yal
Moin Barolt,
"Fortgeschrittene Anfänger" ;-) Wahrscheinlich hast Du Erfahrung in anderen Prog-Sprachen und nimmst dir jetzt den VBA vor.
Manche sagen "Module", ich benutze lieber "Codepane" (so nennt VBA diesen).
Codepane existieren in 2 Geschmackrichtung:
_ die Objekt-unabhängigen: "Module"-Codepane
_ die Objekt-gebundenen: Arbeitsmappe-, Arbeitsblatt-, Formular- und Klassen-Codepane (wobei letzteres Klassen- und nicht Objekt-gebunden sind, aber egal)
Alles was mit einem Objekt zu tun hat, sollte in dem entsprechenden Objekt-Codepane zu finden sein: "ListBox1_Click" für Listbox1 aus einem Userform, ActiveX-Schaltfläche aus einem Blatt, usw.
Alles was Objekt-unabhängig ist, sollte in einem Modul-Codepane sein, insbesondere wenn diese Funktionen/Sub aus verschiedenen Objekt-gebundenen Elemente gerufen werden können.
Das Vorteil von Module besteht daran, dass die dorthin abgelegt "Public Sub/Function" von überall aufrufbar sind. D.h. es könnte durchaus sein, dass in einem "CommandButton1_Click" in "Userform1" (also in dem entsprechende Codepane) eine Function "Datei_öffnen" aufrufe, die sich in einem Module befindet, aber auch ein "CommandButton4_Click" in "UserForm5" könnte diese -nur einmal- definierten Sub aufrufen.
Wäre "Datei_öffnen" in UserForm1-Codepane abgelegt, müsste sie ins "UserForm5" kopiert werden, um dort verwendbar zu sein. Irrsinn: "Don't Repeat Yourself" (DRY, Principe u.a. aus Python).
Der letzte Punkt wäre: ein oder mehreren Module?
Hier geht es darum, dass die Sub/Funktionen in einem Module thematisch zugeordnet sind. Wo finde ich was? (wenn man den Objekt-Katalog noch nicht kennt)
Ich habe eine Sammlung von Funktionen, die Module heissen u.a. "JsonConverter", "mdlOutlook", "mdlPowerQuery", "mdlRestAPI". Erklärung nicht notwendig.
VG
Yal
Anzeige
AW: Wie Modulen Am besten Einsetzen.
11.11.2022 14:39:15
Barolt
Ich danke euch für euer Input. :))

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige