Modul aufrufen
Hi,
habe ein Skript das mittlerweile ziemlich groß und unübersichtlich geworden ist.
Also hab ich mir gedacht ich erstelle ein paar Module (ich kenne mich mit Modulen überhaupt nicht aus!) um Befehle die immer wieder, in veränderder Form, vorkommen "auszulagern".
Ein Modul konnte ich zwar erstellen aber ich bekomme es einfach nicht hin das ich es aufrufe!
Hier ein Beispiel wie ich es gemacht habe:
In meiner Form ist z.B. diese Zeile
In dem Modul diese:
Sobald ich auf eine Schaltfläche klicke und das Feld Text1 leer ist soll das Modul gestartet werden so das die Meldung kommt - das ich eigentlich alles
Vielleicht kann mir ja einer sagen wie das geht ?!
Gruß
SKID
habe ein Skript das mittlerweile ziemlich groß und unübersichtlich geworden ist.
Also hab ich mir gedacht ich erstelle ein paar Module (ich kenne mich mit Modulen überhaupt nicht aus!) um Befehle die immer wieder, in veränderder Form, vorkommen "auszulagern".
Ein Modul konnte ich zwar erstellen aber ich bekomme es einfach nicht hin das ich es aufrufe!
Hier ein Beispiel wie ich es gemacht habe:
In meiner Form ist z.B. diese Zeile
If Text1 = "" Then
Module1
End If
In dem Modul diese:
Public Sub Module1()
MsgBox "Bitte geben Sie den Vornamen ein!", vbInformation
Text1.SetFocus
End Sub
Sobald ich auf eine Schaltfläche klicke und das Feld Text1 leer ist soll das Modul gestartet werden so das die Meldung kommt - das ich eigentlich alles
Vielleicht kann mir ja einer sagen wie das geht ?!
Gruß
SKID
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 49501
Url: https://administrator.de/contentid/49501
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
sach doch mal, welche IDE du benutzt, das könnte helfen...
Das Text1.setFocus ist problematisch, da das Modul die Form nicht automatisch kennt, da sollte noch ein "Form1 ." (bzw. "frmMain") davor.
VBA:
Module fügst du in dein Projekt ein, indem du die Funktion "Datei importieren..." (bei vba) aus dem Kontextmenü (=rechtsklick) des Projektbereichs.
In VB6:
rechtsklick auf den Projektexplorer (wo "Form1" steht) -> hinzufügen -> Datei hinzufügen
(In allen anderen IDE's ähnlich...)
Dann jeweils auf das Modul verweisen, fertisch...
Gruß,
Henrik
sach doch mal, welche IDE du benutzt, das könnte helfen...
Das Text1.setFocus ist problematisch, da das Modul die Form nicht automatisch kennt, da sollte noch ein "Form1 ." (bzw. "frmMain") davor.
VBA:
Module fügst du in dein Projekt ein, indem du die Funktion "Datei importieren..." (bei vba) aus dem Kontextmenü (=rechtsklick) des Projektbereichs.
In VB6:
rechtsklick auf den Projektexplorer (wo "Form1" steht) -> hinzufügen -> Datei hinzufügen
(In allen anderen IDE's ähnlich...)
Dann jeweils auf das Modul verweisen, fertisch...
Gruß,
Henrik
@skid
Hi,
da du in der Rubrik VBA schreibst, ein Beispiel mit Excel:
Dieser Code wird komplett in der Form gespeichert, und nicht
in Module.
In Module werden Subs und Funktionen gespeichert, die im
Datenblatt selber oder als Makro aufgerufen werden.
Grüße
Günni
P.S.: Die letzte Behauptung stammt jetzt von mir, da ich
es nicht anders gelernt habe. Wenn jemand mehr weiß....
Hi,
da du in der Rubrik VBA schreibst, ein Beispiel mit Excel:
Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then
Modul1
End If
End Sub
Private Sub Modul1()
MsgBox "Bitte Vornamen eingeben", vbInformation
TextBox1.SetFocus
End Sub
Dieser Code wird komplett in der Form gespeichert, und nicht
in Module.
In Module werden Subs und Funktionen gespeichert, die im
Datenblatt selber oder als Makro aufgerufen werden.
Grüße
Günni
P.S.: Die letzte Behauptung stammt jetzt von mir, da ich
es nicht anders gelernt habe. Wenn jemand mehr weiß....
wenn du textboxen immer wieder abrufen willst auf deren wert, dann machst du ins modul:
public function checktextvalue(mytextbox as textbox, mymessage as string) as boolean
if mytextbox.text = "" then
checktextvalue = false
msgbox mymessage
mytextbox.setfocus
else
checktextvalue = true
end function
und in deine form:
Sub Command1_Click()
If checktextvalue(textbox1, "bitte vornamen eingeben") = False then exit sub
End Sub
Grüsse, Desperado
public function checktextvalue(mytextbox as textbox, mymessage as string) as boolean
if mytextbox.text = "" then
checktextvalue = false
msgbox mymessage
mytextbox.setfocus
else
checktextvalue = true
end function
und in deine form:
Sub Command1_Click()
If checktextvalue(textbox1, "bitte vornamen eingeben") = False then exit sub
End Sub
Grüsse, Desperado