Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Excel mit Parameteraufruf
#1
Hallo zusammen,

ich habe folgendes Anliegen bzw. Problem. Hier mein Versuch, es möglichst genau zu beschreiben.

In meiner Anwendung "Excel-1.xls" möchte ich die Anwendung "Excel-2.xls" aufrufen und an diese Anwendung 3 Parameter mit übergeben (die ich bei Beendigung dieser Anwendung wieder an das aufrufende Programm zurückgeben will.

"Para-1" = alphanumerisch
"Para-2" = numerisch (Wert 0)
"Para-3" = numerisch (Wert 0)

In der Anwendung "Excel-2.xls" wird dann über den Wert in Parameter "Para-1" die weitere Verarbeitung gesteuert.
Außerdem werden in Parameter "Para-2" und "Para-3" die Werte verändert.

Bei Beendigung der Anwendung "Excel-2.xls" möchte ich nun diese neuen Werte der Parameter "Para-2" und "Para-3" an das aufrufende Programm "Excel-1.xls" wieder zurückgeben, um es dann in dieser Anwendung verarbeiten zu können.

Mein Aufruf in "Excel-1" lautet:

ChDir "C:\Test"
Workbooks.Open Filename:="C:\Test\Excel-2.xls" ' hier müsste ich meine Parameter übergeben ???


"Excel-2" wird folgendermaßen beendet:
...
...
...
ActiveWorkbook.Save
Application.ThisWorkbook.Close       ' hier müsste ich meine Parameter an das aufrufende Programm zurückgeben

Jetzt weiß ich nicht, ob so etwas überhaupt geht oder wenn ja, wie die Übergabe der Parameter aussehen muss.

Wer kann mir dazu Tipps geben?
Viele Grüße
Günther

(MS Office 2013)
to top
#2
Hallo Günther!
Zitat:Hier mein Versuch, es möglichst genau zu beschreiben.
So richtig gelungen ist Dir dies (noch) nicht.
Wichtig wäre, was die Parameter bewirken sollen.
Normalerweise geht man so vor:
- Öffnen der Datei
- in der geöffneten Datei Deine Params arbeiten lassen
- Rückgabewerte ermitteln
- Datei 2 schließen (evtl. speichern)

Gruß Ralf
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • guenther-st
to top
#3
Hallo Günther,

warum so kompliziert? Du kannst doch die Mappe2 direkt aus der aufrufenden Mappe1 heraus steuern, wenn diese eh über Mappe1 per VBA geöffnet wird.

Code:
Sub aaa()
 Dim wbMappe2 As Workbook
 Set wbMappe2 = Workbooks.Open(Filename:="C:\Test\Excel-2.xls")
 
 'als Beispiel
 MsgBox wbMappe2.Sheets(1).Name
End Sub

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • guenther-st
to top
#4
Hallo Ralf,

die 3 Parameter haben folgende Funktion:

- der Parameter "Parm-1" enthält z.B. den Wert "Meier" oder "Müller" oder ... - mit diesem Wert steuere ich in "Excel-2" die Berechnungen.
- die Parameter "Parm-1" und "Parm-2" enthalten beim Aufruf von "Excel-2" den Wert "0" und werden in "Excel-2" mit errechneten Werten gefüllt.

Diese beiden Werte in "Parm-1" und "Parm-2" (z.B. "Parm-1" = 100; "Parm-2" = 350) möchte ich dann beim Beenden von Anwendung "Excel-2" (mit Save + Close) an das aufrufende Programm "Excel-1" zurückgeben (ist noch geöffnet) und dann diese Werte in "Excel-1" weiterverarbeiten.

Es würde mir aber auch genügen, wenn ich beim Aufruf von "Excel-2" nur den Parameter "Parm-1" ("Meier", "Müller" oder ...) an "Excel-2" übergebe und bei Beendigung von "Excel-2" und Rückkehr in das rufende Programm "Excel-1" die Parameter "Parm-2" (Wert = 100) und "Parm-3" (Wert = 350) zurückgebe.

Ich habe nur gedacht, dass es bei Aufruf und Rückgabe immer gleich viel Parameter sein müssen.
                         
Ich hoffe, dass ich es jetzt klarer formuliert habe.
Viele Grüße
Günther

(MS Office 2013)
to top
#5
Hallo Ralf,
hallo Uwe,

danke für den Hinweis - irgendwie stand ich im Walde. 

Natürlich kann ich Anwendung Excel-2 über Anwendung Excel-1 steuern bzw. quer über beide Anwendungen arbeiten.

Wenn ich in Excel-2 fertig bin, sichere und schließe ich die Mappe und kann anschließend in Excel-1 weiter arbeiten.

Da habe ich mir wohl das Problem (das es überhaupt nicht gibt) selbst erschaffen.

Nochmals vielen Dank für die Hinweise, jetzt läuft alles bei mir.

Servus und einen schönen Sonntag.
Viele Grüße
Günther

(MS Office 2013)
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste