VBA-MS Excel: Kann ich Schreiben UserForm-Code in ein Modul?
Kurze Frage,
Gibt es eine Möglichkeit, ich kann schreiben, mein Userform-code in ein Modul?
Der Grund warum ich Frage dies, weil ich eine multi-Seite userform mit einer zunehmend massiven Menge an code dahinter. Für organisatorische Zwecke, ich möchte in der Lage, der Platz, den code in verschiedene Module. Aber ich weiß nicht, ob dies getan werden kann, für userforms (abgesehen von aufrufen einer Unterroutine aus der userform-Ereignis).
Gibt es eine Möglichkeit zum schreiben von UserForm-code in ein Modul ohne den Aufruf des Unterprogramms aus dem userform-code?
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich ist es einfach. Der code im Formular-Modul aufrufen kann Unterprogramme in anderen Modulen. So schneiden Sie einfach den code für eine bestimmte routine, und fügen Sie Sie in einem anderen Modul, dem Namen entsprechend, und dann in das Formular-Modul den Namen der routine, zu nennen. Die einzige gotcha ist, dass wenn der code in ein separates Modul aus, das Sie nicht verwenden können, das Me-Schlüsselwort. Wenn Sie verwenden, in Ihrem code, dann passieren die form als argument und ersetzen Sie Mich mit Ihren Variablen. Ein stark Vereinfachtes Beispiel: Angenommen, Sie orinally haben
Dann können Sie die folgenden in einem separaten Modul:
ersetzen und dann klicken Sie auf die Schaltfläche code mit
Ansatz ist die hier aufgeführten, dass beinhaltet die Definition einer Klasse und hinzufügen von Steuerelementen zum Formular dynamisch, die dann im Zusammenhang mit Veranstaltungen der Klasse.
Aus Ihrer Beschreibung, obwohl, es klingt wie dein UserForm zu viel zu tun. Ich schlage vor, dass Sie erwägen, andere Formen, anstatt zu versuchen, alles zu tun, aus einem einzigen Formular. Sie könnte vielleicht erstellen Sie eine Klasse zum speichern von Eigenschaften (und Verhaltensweisen), die üblich sind, um die zwei oder drei Formen, die Sie erstellen können. Die Klasse instanziieren, wenn die erste (Haupt -) Formular geöffnet wird.