Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
Antworten 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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • guenther-st
Antworten 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 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • guenther-st
Antworten 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)
Antworten 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)
Antworten Top


Gehe zu:


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