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

Macro nach Auswahl ausführen

Macro nach Auswahl ausführen
01.11.2023 14:26:23
Siegfried
Hallo zusammen,

ich habe mehrere Macros geschrieben und möchte nur ein bestimmtes ausfüren.
Die Auswahl der auszuführenden Prozedur steuere ich mit einem Drehfeld in einer UserForm.
Als Rumpf habe ich bisher folgenden Code:

Private Sub Cmd_KW_Click()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim Bezug As Variant

' Lbl_KW.Caption enthält den Namen der aufzurufenden Prozedur
' der Name wird über ein Drehfeld erzeugt
Bezug = Lbl_KW.Caption

Range(Bezug).Select
' Call Bezug ?

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Frm_Test2.Hide
End Sub

Wie kann ich das ? auflösen?

Gruß
Siegfried

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro nach Auswahl ausführen
01.11.2023 14:59:11
daniel
Hi

Wenn die Variable Bezug den Namen eines Makros in einem allgemeinen Modul enthält, dann:

Application.Run Bezug

Gruß Daniel
AW: Macro nach Auswahl ausführen
01.11.2023 15:41:23
Siegfried
Hi Daniel

ja, das Lbl_KW.Caption enthält exakt den Namen des auszuführenden Macros
und die auszuführenden Macros habe ich in der UserForm plaziert, also nicht in einem allgemeinen Modul.

Wie muß ich es dann anstellen?
Oder muß ich die Macros umquartieren?

Gruß
Siegfried
AW: Macro nach Auswahl ausführen
01.11.2023 15:45:40
daniel
Bei Makros, die nicht in einem allgemeinen Modul sind, muss man den Modulnamen voranstellen:

Application.Run "Userform1!" & Bezug

Gruß Daniel
Anzeige
AW: Macro nach Auswahl ausführen
01.11.2023 16:01:48
Siegfried
Hi Daniel

ich erhalte die Fehlermeldung kann .xlsx nicht finden
meine Datei hat die Endung .xlsm

Also doch umquartieren?

Gruß
Siegfried
AW: Macro nach Auswahl ausführen
01.11.2023 16:20:04
daniel
Sorry , versteh ich nicht.
Ich weiß nicht was du gemacht hast und ich kenne deine Datei nicht. Wie soll ich dir da sagen, was du falsch gemacht hast?
Kann ja ein einfacher Schreibfehler sein.
Auslagern in ein allgemeines Modul vereinfacht die Sache.
AW: Macro nach Auswahl ausführen
01.11.2023 16:42:41
Siegfried
Hi Daniel

ich habe die Makros in ein allgemeines Modul ausgelagert, aber ich erhalte die gleiche
Fehlermeldung.
Weil die eingebaute Kontrolle mit Range(Bezug).Select funktioniert, kann ich einen Schreibfehler wohl ausschließen.
Bezug ist sowohl der Name für die auszuführende Prozedur als auch der Name für die Zelle.

In jedem Fall Danke für Dein Bemühen.
Wenn Du aber noch eine andere Möglichkeit siehst, nehme ich sie gerne an.

Gruß
Siegfried
Anzeige
AW: Macro nach Auswahl ausführen
01.11.2023 17:21:26
Siegfried
Hi Daniel

jetzt nehme ich die Version mit Select Case, sie ist zwar aufwändiger aber sie funktioniert.

Nochmals Danke und Gruß

Siegfried
AW: Macro nach Auswahl ausführen
01.11.2023 17:27:19
GerdL
Hallo Siegfried!

Range-Namen und Makro-Namen sollten sich unterscheiden.
'Allgemeines Modul z.B. Modul1

Option Explicit
Public Bezug As Variant

Sub Rufer()
Application.Run CStr(Bezug & "X")
End Sub


Sub TralalaX()
MsgBox "TralalaX"
End Sub



'Userformmodul Begriffe der Objekte bitte anpassen
Option Explicit
Private Sub CommandButton1_Click()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual


Label1.Caption = "Tralala"

' Lbl_KW.Caption enthält den Namen der aufzurufenden Prozedur
' der Name wird über ein Drehfeld erzeugt
Bezug = Label1.Caption

'Range(Bezug).Select


Call Rufer


Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
UserForm1.Hide

End Sub

Gruß Gerd
Anzeige
AW: Macro nach Auswahl ausführen
01.11.2023 17:47:33
Siegfried
Hi GerdL

Danke für Deine Alternative.
Sie führt allerdings zu dem gleichen Ergebnis (Fehlermeldung).
Die aufwändige Version mit Select Case funktioniert.

Gruß
Siegfried

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige