close/open befehl in einem makro

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: close/open befehl in einem makro
von: louis
Geschrieben am: 09.03.2005 12:43:14
excel gut - VBA geht so
Hallo forum,
ich bräuchte noch mal eure hilfe
ich habe eine userform mit einem cmd1.
über diesen möchte ich die mappe mit dieser userform schliessen, nicht speichern und eine andere mappe öffnen.
der code läuft aber nicht durch egal wie ich die befehlsreihenfolge verändere.


Private Sub CommandButton1_Click()
Unload Me
Workbooks.open"E:\NTP1.xls"
Workbooks("TP").Close saveChanges:=False
End Sub

so öffnet er NTP1 schliesst aber nicht TP
wenn ich die befehlsreihenfolge tausche schliesst er TP öffnet aber nicht NTP1.
Läuft der makro nur so lange wie die arbeitsmappe aktiv ist ?
wenn ja wie bekomme ich das gelöst?
Für hilfe oder lösungsansätze wäre ich dankbar!
vielen dank im vorraus
mfg
louis
Bild

Betrifft: AW: close/open befehl in einem makro
von: Matthias G
Geschrieben am: 09.03.2005 14:21:23
Hallo Louis,
So müsste es gehen:
Private Sub CommandButton1_Click()
Workbooks.Open Filename:="E:\NTP1.xls"
ThisWorkbook.Close saveChanges:=False
End Sub
Das Unload brauchst du nicht, da das Userform beim Schließen der Mappe sowieso entladen wird.
Gruß Matthias
Bild

Betrifft: AW: close/open befehl in einem makro
von: louis
Geschrieben am: 09.03.2005 15:52:59
hallo matthias,
danke für deine antwort,
ich glaube mein problem liegt eher darin das wenn workbook NTP1 geöffnet wird direkt eine neue userfrom aufgerufen wird. erst wenn ich diese dann schliesse wird das workbook TP auch geschlossen. das soll aber vorher passieren. der code soll erst komplett durchlaufen.
also in etwa so
Userform1 (workbook TP) schliessen
Workbook TP schliessen
Workbook NTP1 öffnen
Userform2 (workbook NTP1) zeigen
ich glaube ich mache da was grundsätzlich falsch weiss aber nicht was.
vielen dank für die geduld und mühe
mfg
louis
Bild

Betrifft: AW: close/open befehl in einem makro
von: Matthias G
Geschrieben am: 09.03.2005 16:03:57
Hallo Louis,
wenn TP geschlossen wird, kann anschließend kein Code in TP mehr ausgeführt werden.
Du hast nicht geschrieben, dass NTP1 eine Workbook_Open-Prozedur hat...
Setze mal Wenn dein UF in TP als nichtmodal (Eigenschaft Showmodal=False), dann könnte es klappen. Aber wie gesgt, der Close-Befhl muss an den Schluss, was danach steht, wird eh nicht mehr ausgeführt.
Gruß Matthias
Bild

Betrifft: AW: close/open befehl in einem makro
von: louis
Geschrieben am: 09.03.2005 17:52:07
hallo matthias,
sorry, das mit der worbook_open prozedur habe ich leider vergessen zu erwähnen.
danke für deinen vorschlag aber der hilft leider nicht weiter.wie gesagt NTP1 und dessen userform werden gezeigt aber TP schliesst nicht.
danke noch mal für die mühe
mfg
louis
Bild

Betrifft: AW: close/open befehl in einem makro
von: Matthias G
Geschrieben am: 09.03.2005 18:07:21
Hallo Louis,
weitere Lösungsansätze:
- das Userform in NTP1 nichtmodal setzen (klar dass TP sonst nicht schließt, der Code wartet ja, bis das UF geschlossen ist!
- wenn NTP1 nur auf diesem Wege geöffnet wird, auf die Workbook_Open Prozedur verzichten und das UF über Code in TP1 öffnen
Viel Erfolg noch,
Matthias
 Bild

Beiträge aus den Excel-Beispielen zum Thema "close/open befehl in einem makro"