Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1244to1248
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

Aufruf Macro aus anderer Arbeitsmappe

Aufruf Macro aus anderer Arbeitsmappe
pbaer007
Hallo VBA-Gemeinde,
mit einem Macro in einer Arbeitsmappe (varFile1) wird eine zweite (varFile2) geöffnet.
Ich möchte nun innerhalb des Macros (aus varFile1) auf Proceduren in varFile2 zugreifen und diese aufrufen (z.Bsp.: mcr_Hintergrund).
Kann mir jemand einen Tip geben, wie es geht, oder wo ich suchen muss?
Vielen Dank
Gert
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 11:00:19
Reinhard
Hallo Gert,
Sub tt()
Application.Run "Mappe2!MeinMakro"
End Sub

Gruß
Reinhard
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 12:37:28
pbaer007
Hallo Reinhard,
vielen Dank für die schnelle Antwort.
Jedoch bekomme ich die Fehlermeldung "Objekt unterstützt nicht ...."
Soweit ich in der Hilfe gesehen haben, kann ich keine Werte bei diesem Weg an die Prozedure übergeben.
Gibt es evtl. auch eine andere Möglichkeit?
Hier sind 2 Beispiele:
 Application.Run Workbooks(varFile2)!PosNo1(varFile2)
Application.Run Workbooks(varFile2)!Wait(5)
Vielen Dank & viele Grüße
Gert
Anzeige
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 12:49:44
Reinhard
Hallo Gert,
Sub tt()
Application.Run "Mappe2!MeinMakro", "huhu"
End Sub

Gruß
Reinhard
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 12:51:07
Rudi
Hallo,
Application.Run varFile2 &"!PosNo1", varFile2
und Wait solltest du nicht als Prozedurnamen verwenden, da VBA-Methode!
Gruß
Rudi
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 13:31:38
pbaer007
Hallo Rudi & Reinhard,
zunächst vielen Dank Rudi für den Hinweis mit VBA-Methode "Wait". Das hätte ich mal etwas früher wissen sollen. Ich werde mich gleich mal dran setzten, das zu ändern.
Und dann natürlich auch vielen Dank an Dich & Reinhard
für die genaue Lösungsbeschreibung, hab ich ausprobiert, aber immer noch kein Glück damit. Jetzt bekomme ich den Laufzeitfehler, dass das Macro nicht in der Mappe enthalten ist, oder deaktiviert ist.
Wenn ich aber direkt in der neu geöffneten Mappe (varFile2) ein Macro ausführe, dann funktioniert es.
Die Mappe wird mit
    Path = Application.GetOpenFilename
    Workbooks.Open Filename:=Path

geöffnet.
Habt Ihr noch einmal einen Tip für mich ?
Sorry
Gert
Anzeige
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 13:44:42
Reinhard
Hallo Gert,
was mir noch auffiel, einem Makro brauchst du den Namen seiner mappe nie als Parameter mitübergeben.
Mit "Thisworkbook" kennt es den.
Steht das Makro in einem Standardmodul? Wird Private benutzt im Prozedurkopf?
Ggfs. lade eine Beispielmappe hoch.
Gruß
Reinhard
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 13:56:37
Rudi
Hallo,
einem Makro brauchst du den Namen seiner mappe nie als Parameter mitübergeben
und wenn das Makro einen Parameter will?
Sub xxx(strWkb as String)
Msgbox strWkb
End Sub

Gruß
Rudi
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 15:54:10
pbaer007
Hallo Reinhard und Rudi
ich wollte 2 Beispiel-Dateien vorbereiten. Und da funktioniert es, obwohl ich die Macros nur kopiert habe.
Dann werd ich mich noch einmal auf die Spurensuche begeben, woran es noch liegen könnte, da auch keine ersichtlichen Unterschiede in den Modulen zu erkennen sind.
File 1 (mit dem File 2 aufgerufen wird)
https://www.herber.de/bbs/user/78193.xlsm
File 2
https://www.herber.de/bbs/user/78194.xlsm
Natürlich freue ich mich über jeden Hinweis, wo das Problem versteckt sein könnte.
ABER VIELEN, VIELEN Dank soweit.
Gert
Anzeige
AW: Aufruf Macro aus anderer Arbeitsmappe
03.01.2012 13:53:49
Rudi
Hallo,
Path enthält ja den Pfad der Datei. Außerdem solltest du auch Path nicht als Variablennamen verwenden, da eine Eigenschaft. Nimm strPath oder so.
strPath = Application.GetOpenFilename
Workbooks.Open Filename:=strPath
varFile2=ActiveWorkbook.Name
Application.Run varFile2 &"!MeinMakro", Parameter
Gruß
Rudi

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige