Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro aus anderer Datei aufrufen

Forumthread: Makro aus anderer Datei aufrufen

Makro aus anderer Datei aufrufen
27.10.2003 10:43:16
Dennis Zach
Hallo Alle!

Ich möchte aus einer Datei_A eine andere Datei_B öffnen und dann ein Makro der Datei_B laufen lassen. Wie muss denn da der Aufruf erfolgen.

Öffnen tue ich so:
Workbooks.Open Filename:= _
"\\ordner1\ordner2\Datei_B.xls" , UpdateLinks:=0

'und jetzt brauch ich hier den Aufruf für die Methode Graphik_erstellen

Ich dachte nach dem Öffnen der Datei_B wäre sie aktiv und man könnte die Methode einfach mit der Namensangabe aufrufen, aber das funktioniert nicht (Sub oder Funktion nicht definiert)

Kann mir jemand helfen?
Dennis
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Application.Run
27.10.2003 10:47:01
ChrisL
Hi Dennis

Application.Run "Mappe!Makro"

Gruss
Chris
AW: Application.Run
27.10.2003 11:00:55
Danke! .. und noch ne Frage ;-)
Hey Chris,

danke...
Hab da noch ne Frage, also falls Du Zeit hast, wär ich Dir sehr dankbar:

Das Makro, das ich aufrufe, öffnet ein Formular, das vom Benutzer die Auswahl eines Monats und eines Jahres verlangt, um weiterrechnen zu können.
Wie kann ich das Makro mit Application.Run"Datei_B!Makro1"
aufrufen und schon feste Werte für Monat und Jahr mitgeben, so dass das Öffnen des Formulars nicht geschehen muss?!

Geht das?

Hintergrund ist folgendes:

Datei_A muss nacheinander insgesamt 15(vom Aufbau gleiche)Dateien öffnen und jeweils das Makro ausführen und immer mit dem gleichen Monat und Jahr.
Ich möchte natürlich vermeiden, dass der Ausführer des Makros 15x hintereinander die Auswahl treffen muss, und evtl. auch mal was falsches auswählt...
Ich möchte gerne einmal vorneweg die Monats- und Jahresauswahl treffen, diese Werte speichern und sie jedesmal, sozusagen als Parameter an das Makro übergeben.

Kannst Du mir folgen und was raten?

Dennis
Anzeige
Public Variable
27.10.2003 11:21:16
ChrisL
Hi Dennis

Es gibt verschiedene Wege, um Variablen von einer Prozedur in die andere zu übergeben, z.B. so...

Option Explicit


Sub TEST1(strMonat As String, intJahr As Integer)
MsgBox strMonat & " " & intJahr
End Sub



Sub TEST2()
Call TEST1("Januar", 2003)
End Sub


Da du allerdings sagst, dass du 15 verschiedene Prozeduren ansprichst, ist vermutlich das einfachste, wenn du die Variablen als Public (in einem Standardmodul) deklarierst...

Public strMonat As String

Gruss
Chris
Anzeige
Geht's auch so?
27.10.2003 11:43:50
Dennis
Hey Chris,

ich hab mir gedacht ich mach das so:

Sub Makro1(Optional datumsvariable as Variant)
'jetzt will ich hier ne Abfrage machen:
'IF Parameterübergeben: dann benutze ihn,
'ELSE zeige das Auswahlformular

If IsEmpty(datumsuebergabe) Then

Monatswahl.Show
Else 'Es wurde ein Datum als Parameter übergeben, also benutze diesen Wert
gewaehlter_monat = datumsuebergabe
End If

Exit Sub

Problem ist aber, dass er das nicht akzeptiert, wenn kein Parameter übergeben wird.
datumsuebergabe ist dann ja leer und ich krieg für die vorvorletzte Zeile immer die Meldung: Typen unverträglich.

Wie kann ich denn das umgehen, dann wär der Rest nämlich (glaub ich zumindest) recht einfach...

Dennis
Anzeige
AW: Geht's auch so?
27.10.2003 11:58:25
ChrisL
Hi Dennis

Leider habe ich den Überblick betr. deinem Projekt nicht ganz. Hast du von der Struktur her eine art 'Master-Prozedur' aus der heraus du die 15 anderen Prozeduren aufrufst d.h.

Master ruft Prozedur 1 auf
Master ruft Prozedur 2 auf
etc.

oder

Master ruft Prozedur 1 auf
Prozedur 1 ruf Prozdur 2 auf
etc.

Ich frage mich nämlich, wieso du die Datumseingabe nicht einfach im 'Master' erzwingst, dann ist das Argument nicht mehr optional. Ferner würdest du dir Code sparen, da du nicht in jeder Prozdedur einzeln die Abfrage machen musst.

Gruss
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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