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

Sub via variable aufrufen

Sub via variable aufrufen
17.11.2019 17:29:53
Dennis
Hallo zusammen.
Ich habe beim Starten der Excel-Datei eine Form mit ListBox, welche sich aus einer Tabelle füllt.
Jenachdem, welchen Eintrag ich auswähle soll er einen vorhandenen Sub aufrufen, der dann den
weiteren Code abarbeitet. Ich habe dazu "auswahl" als Public String deklariert, wenn ich einen Eintrag selektiere und auf OK klicke, schreibt er die Auswahl in diese Variable.
Wie bekomme ich es nun hin, dass er mit der Variablen ein Sub aufruft?
z.B. auswahl = Datenabfrage
er soll dann das Sub datenabfrage() aufrufen.
z.B. auswahl = Wartungstermine
er soll dann das Sub wartungstermine() aufrufen.
usw..
Ich habe es bereits probiert, dem Sub in den Klammern einen Namen zu geben.
z.B. Sub sel(datenabfrage) und Sub sel(wartungstermine) aber dann meckert er, dass der name "sel" mehrfach vorhanden sei.
Klar könnte ich das mit IF-Funktionen machen, aber das würde den Code definitiv sprengen, denn es wird nicht bei den 2 Beispieleinträgen bleiben :-)
LG

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub via variable aufrufen
17.11.2019 17:40:11
Nepumuk
Hallo Dennis,
einfach so:
Application.Run auswahl

Gruß
Nepumuk
AW: Sub via variable aufrufen
17.11.2019 18:11:30
Dennis
Hallo und Danke für die schnelle Rückmeldung.
Leider hat Excel da scheinbar keinen Bock drauf (Siehe Bild). Was nun?
Userbild
Anzeige
AW: Sub via variable aufrufen
17.11.2019 18:14:19
Nepumuk
Hallo Dennis,
in welchem Modul befindet sich die Sub?
Gruß
Nepumuk
AW: Sub via variable aufrufen
17.11.2019 18:14:57
Nepumuk
Hallo Dennis,
in welchem Modul befindet sich die Sub?
Gruß
Nepumuk
AW: Sub via variable aufrufen
17.11.2019 18:22:31
Dennis
habe die Sub(s) in die Form hinterlegt.
Wenn ich die Subs in ein Modul packe, dann müsste ich die ja via "modul.sub" aufrufen und da meckert er
eben leider wegen der Variablen. Bei dem restlichen Code, wo ich kein Sub via Variable aufrufen muss mache ich das so, dass das via modul.sub aufrufe und das geht einwandfrei, nur eben nicht mit Variable
Userbild
Anzeige
AW: Sub via variable aufrufen
17.11.2019 18:30:40
Nepumuk
Hallo Dennis,
die Prozedur die du aufrufst muss sich in einem Standardmodul befinden. Die Angabe des Modulnamens ist nur notwendig wenn du Prozeduren mit dem selben Namen in verschiedenen Modulen hast.
Gruß
Nepumuk
AW: Sub via variable aufrufen
17.11.2019 19:07:07
Nepumuk
Hallo Dennis,
mir ist gerade eingefallen, es geht doch mit den Prozeduren im Userform-Modul. Und zwar so:
Private Sub CommandButton1_Click()
    Const auswahl As String = "test"
    Call CallByName(Me, auswahl, VbMethod)
End Sub

Public Sub test()
    MsgBox "test"
End Sub

Gruß
Nepumuk
Anzeige
AW: Sub via variable aufrufen
17.11.2019 20:12:10
Dennis
habe die Sub(s) in die Form hinterlegt.
Wenn ich die Subs in ein Modul packe, dann müsste ich die ja via "modul.sub" aufrufen und da meckert er
eben leider wegen der Variablen. Bei dem restlichen Code, wo ich kein Sub via Variable aufrufen muss mache ich das so, dass das via modul.sub aufrufe und das geht einwandfrei, nur eben nicht mit Variable
Userbild
AW: Sub via variable aufrufen
17.11.2019 18:58:44
onur
Die Subs müssen sich in einem ALLGEMEINEN MODUL befinden und PUBLIC deklariert werden.
AW: Sub via variable aufrufen
17.11.2019 20:16:12
Dennis
geht auch damit leider nicht :-(
Userbild
Anzeige
AW: Sub via variable aufrufen
17.11.2019 20:19:17
Dennis
Hiermit scheint es nun zu klappen:
Application.Run "auswahl_mod." & auswahl

AW: Sub via variable aufrufen
17.11.2019 20:20:47
onur

Application.Run(auswahl)

AW: Sub via variable aufrufen
17.11.2019 20:19:39
onur
Wieso hast du für jede SUB ein allg. Modul?
Nur ein Modul, wo sich ALLE Subs befinden.
Poste doch mal die Datei, wenn du es nicht hinkriegst.
AW: Sub via variable aufrufen
18.11.2019 00:48:58
Dennis
klappt jetzt wie gewünscht. Ich habe die verschiedenen Module erstellt,da es sich in der Excel-Datei auch sozusagen um "Module" handelt, die ich bei bedarf auch mal in einzelne Excel-Dateien auslagern möchte und das erleichtert mir enorm die Übersicht. Wenn jetzt z.b. in "datenabfrage" etwas nicht läuft, dann weiß ich dass ich dazu nur in dem Modul "datenabfrage" nach dem Fehler schauen muss. Läuft sozusagen bis auf die Forms alles autark
Anzeige
AW: Sub via variable aufrufen
18.11.2019 06:29:48
onur
Wenn du das für Übersicht hältst, wenn man für jede Sub "XY" ein gleichnamiges Modul hat....

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige