Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aus Modul Makro einen Privat Makro starten

Aus Modul Makro einen Privat Makro starten
10.02.2024 21:52:01
Kurt
Hallo wehrtes Excel-Forum
Da mir schon einige Male hier geholfen werden konnte, wende ich wieder einmal Händeringend an Euch.
Mein ungelöstes Problem: Ich möchte aus einen Modul Makro einen Privat Makro starten. Alle meine Versuche schlugen fehl.
Habe schon alle mir bekannten Möglichkeiten durchgespielt wie z.b.:
Application.Run Macro:= oder mit Call und auch ohne Application.Run Macro:= / Call nur Macro_xy
Name von Privat-Makro auf Public btw. beides weg gelassen. Modul-Makro auf Privat umbenannt und in die Tabelle1 verschoben. Immer wieder Fehlermeldungen.
Was möchte ich mit meinen 2 Makros erreichen: der erste Makro soll mir einen Namen suchen und wenn gefunden die Zelle aktivieren. Der läuft Super. Hab ich auch von einem netten User hier aus dem Forum. Der 2. Privat-Makro soll die Zelle auslesen und wenn Wahr einen Dritten Makro starten. Auch dieser 2. läuft bei alleinigen Aufruf einwandfrei.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Address = "$B$3" Then
Application.Run Macro:="Musik.xlsm!LP_Musik_343_2_9"
Cancel = True
End If
If Target.Address = "$B$4" Then
Application.Run Macro:="Musik.xlsm!LP_Musik_343_1_13"
usw.

Nur wenn ich ihn aus dem 1. Makro starten will verweigert er.
Vielleich weiß hier ein/e nette/r User/in eine Lösung für mein Problem.
Ich sage euch schon im vorhinein ein herzliches danke schön
Liebe grüße Kurt
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Modul Makro einen Privat Makro starten
11.02.2024 10:24:32
Kurt
Herzlichen Dank Freunde, habe mein Problem gelöst indem ich den Makro 1 in Makro2 integriert habe. nun habe ich ein kleineres Problem:
Makro2:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not (Intersect(Target, UsedRange) Is Nothing) Then
Call Interpr_suche(SuchText:=Target.Value, Genre:=Target.Offset(0, 2).Value)
End If
Cancel = True
If Target.Address = "$B$3" Then
Application.Run Macro:="Musik.xlsm!LP_Musik_343_2_9"
Cancel = True
End If
If Target.Address = "$B$4" Then
Application.Run Macro:="Musik.xlsm!LP_Musik_343_1_13"
Cancel = True
End If
Wenn ich die Tabelle sortiere oder Zeilen einfüge spricht der Makro immer den Zustand vor der Sortierung an. Nach dem Suchvorgang wird aber immer die richtige Zelle (Text) aktiviert. Was müsste ich ändern der oben stehende Makro immer die aktive Zelle, auch nach der Sortierung, anspricht.

Danke im voraus für Eure Mithilfe mein Problem zu lösen.
LG Kurt
Anzeige
AW: Aus Modul Makro einen Privat Makro starten
13.02.2024 21:48:10
Kurt
Hallo an alle,
auch Problem 2 konnte ich lösen.
Manchmal sieh man den Wald vor lauter Bäumen nicht.
Hier meine Lösung:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Target.Value = "Text aus Aktiver Zelle" Then
Call Mackro6 'mein Makro
Cancel = True
End If
If Target.Value = "Text aus Aktiver Zelle" Then
Call Mackro7 'mein Makro
Cancel = True
End If
If Target.Value = "Text aus Aktiver Zelle" Then
Call Mackro8 'mein Makro
Cancel = True
End If
End Sub

So spricht der Makro immer die richtige Zelle an, auch nach einer durchgeführten Sortierung.
Anzeige
AW: Aus Modul Makro einen Privat Makro starten
12.02.2024 17:18:53
Kurt
Ein nettes Hallo
Ich Danke allen, die sich zuminstestens mein Problem durchgelesen bzw durch den Kopf gehen haben lassen.
Nach nochmaliger Überlegung meines Problems bin ich zur Überzeugung gelangt ..... es ist nicht zu lösen.
Das scheitern des Machbaren liegt mit größter Wahrscheinlichkeit bei den vielen, verschiedenen Makros die zu Starten wären.
Pro Zelle in der Spalte B (bis zu 5000 Zellen).

Nochmal besten Dank und meine besten Grüße
Kurt
Anzeige
AW: Aus Modul Makro einen Privat Makro starten
11.02.2024 10:43:44
Rolf
Hallo Kurt,

ich vermute mal, dein Interpr_suche - Makro markiert die gefundene Zelle.
Das verändert aber nicht dein Target, d.h. du müsstest wahrscheinlich mit Activecell.Address, statt mit Target.Address vergleichen.
So verstehe zumindest ich deine Problembeschreibung.

Gruß Rolf
Anzeige
AW: nur ne Vermutung, deshalb noch offen!
11.02.2024 10:52:19
Rolf
AW: nur ne Vermutung, deshalb noch offen!
11.02.2024 11:33:59
Kurt
Hallo Rolf, erst mal danke für deine Hilfe.
Auf .... If ActiveCell.Address = "$B$3" Then
Leider, es brachte keinen Erfolg.
LG Kurt
AW: nur ne Vermutung, deshalb noch offen!
11.02.2024 11:44:37
Rolf
Hallo Kurt,

...Vermutung deshalb, weil du zu wenig Informationen gibst:
Was genau steht in dem InterpretenSuch-Makro,
was steht in B3, B4 usw.
was genau soll eigentlich passieren?
Am besten eine Beispielmappe hochladen, dann erklären sich vielleicht einige Fragen von selbst.

Gruß Rolf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige