Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

erste Datei schliessen von der zweiten Datei aus

erste Datei schliessen von der zweiten Datei aus
23.03.2009 20:40:47
der
Hi Leute
Habe eine dumme Frage:
Ich öffne in einer Userform mit Dateidialog eine andere Datei auf und rufe dort ein Makro an. Dieses Makro öffnet mir danach die Userform in der zweiten Datei auf.
Die ersten Datei wird nach dem Makroauftruf in der zweiten Datei mit ThisWorkbook.Close geschlossen.
Da liegt das Problem.
Wenn ich in der zweiten Datei in der UF bin (Application.visible=false) ist im Hintergrund immer noch die erste UF vorhanden obwohl die erste Datei geschlossen sein sollte oder scheinbar geschlossen ist.
Erst wenn ich von der UF der zweiten Datei in ein Tabellenblatt komme und wieder zurück zur UF ist auch die scheinbar geschlossene UF der ersten Datei weg. Wäre alles nicht so schlimm, wenn ich mich direkt von der zweiten Datei (UF) in ein Tabellenblatt begebe aber ich kann auch von der UF der zweiten Datei auch andere UF ansprechen und wenn ich das mache ist immer die UF der ersten Datei sichtbar.
Wäre es eine Möglichkeit, dass ich beim Aufruf des Makros in der zweiten Datei die erste Datei schliessen kann und wie?
Gruß
Alex

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 20:51:27
der
Hallo,
schließe die Userform aus der ersten Datei beim schließen bzw. vor dem schließen dieser.
Unload Userfom1
Gruß Tino
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:29:22
der
Hi Tino
Habe ich versucht aber ohne Erfolg.
Erst wenn ich in der zweiten Datei von einem Commandbutton auf ein Tabellenblatt gelange und von dort aus wieder in die UF, dann verschwindet auch die UF der ersten Datei.
Wäre cool wenn die UF in der zweiten Datei aufgeht, kurz auf ein Tabellenblatt geht und wieder zurück zur UF ohne, dass ich das Tabelleblatt mit einem Commandbutton anklicken muss. Damit wäre das Problem vollends behoben.
Gruß
Alex
Anzeige
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:37:44
der
Hallo,
kann irgendwie nicht sein,
wenn Du die Userform mit Unload beendest muss diese zu sein,
auch wenn diese mit Hide ausgeblendet ist.
Gruß Tino
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:45:36
der
Hi Tino
Habe alles versucht. Die einzige Lösung ist in der zweiten Datei kurz ein Tabellenblatt zu öffen und wieder zurück zur UF in der zweiten Datei. Dann verschwindet auch die UF der ersten Datei.
Nur wie soll ich das mit einem Code machen ohne, dass ich mit einem Commandbutton auf ein Tabellenblatt gehe und wieder zurück.
Gruß
Alex
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:49:02
der
Hallo,
kannst Du die beiden Dateien mal hochladen, kann ich mir nicht vorstellen.
Gruß Tino
Anzeige
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:52:18
der
Hi Tino
Die erste Datei hat nur Deinen Code in der UF. Die zweite Datei ist 5 MB gross.
Kann es sein, dass die erste Datei mit einer Exe Datei gestartet wird, welche ich hier im Forum gefunden habe. Diese wurde von Matthias ins Netz gestellt.
Gruß
Alex
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 21:59:48
der
Hallo,
wenn es der Code von mir ist, müsste es so gehen.
Private Sub CommandButton1_Click()
Dim Datei2 As String, strDateiName As String

'On Error Resume Next 
Datei2 = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*")
If Datei2 = CStr(False) Then Exit Sub

strDateiName = Right$(Datei2, Len(Datei2) - InStrRev(Datei2, "\"))

UserForm1.Label1.Caption = strDateiName

Workbooks.Open Datei2

Datei2 = "'" & strDateiName & "'" & "!makro2"

On Error Resume Next
 Application.Run Datei2, "Test_Test", "Test_Test", "Test_Test"

If Err.Number = 450 Then
 Application.OnTime Now + TimeSerial(0, 0, 1), Datei2
 Unload UserForm1 '----------> hier wird die Userform beendet, Name anpassen. 
 ThisWorkbook.Close False 'schließen ohne speichern, sonst True 
Else
 MsgBox "Fehler: " & Err.Number & Chr(13) & Chr(13) & Err.Description
End If

End Sub


Gruß Tino

Anzeige
AW: erste Datei schliessen von der zweiten Datei aus
23.03.2009 22:09:01
der
Hi Tino
Das ist der Code den Du mir geschrieben hast und Haargenau mit dem Code in der UF der ersten Datei übereinstimmt.
Gruß
Alex
und geht es? oT.
23.03.2009 22:12:07
Tino
AW: und geht es? oT.
23.03.2009 22:24:06
Alex
Hi Tino
Als ich Ihn gestern kopierte habe ich die Datei nicht auf allen Punkten geprüft. Heute als ich mich ein wenig damit befasst habe die Datei auf allfällige Fehler zu kontrollieren habe ich es bemerkt.
Am Einfachsten ist es in der zweiten Datei kurz ein Blatt anzusprechen und zurück. Nur bin ich immer noch am Rätseln wie ich das hinkriege ohne einen Commandbutton zu benützen.
Gruß
Alex
AW: und geht es? oT.
23.03.2009 22:30:10
Tino
Hallo,
wieso soll das einfacher sein? Ich verstehe nicht!
Gruß Tino
Anzeige
AW: und geht es? oT.
23.03.2009 22:34:24
Alex
Hi Tino
Habe versucht in der ersten Datei sogar mit Application.quit das Problem zu lösen - ohne Erfolg.
Mit dem kurzen Ansprechen eines Tabellenblattes und zurück ist alles wieder im Lot.
Gruß
Alex
ist ja Deine Datei
23.03.2009 22:48:48
Tino
Hallo,
mir kann es ja Egal sein, ist ja Deine Datei.
Versuche es mal so, den Namen der Userform musst Du anpassen.
Ob es was bringt kann ich auch nicht sagen.

UserForm1.Hide
Sheets("Tabelle1").Select
Range("A1").Select
UserForm1.Show


Gruß Tino

AW: ist ja Deine Datei
23.03.2009 23:06:17
Alex
Hi Tino
Jepp es klappt. Uff, ich habe gedacht, dass darf doch nicht wahr sein, dass dies mit Excel nicht gehen sollte.
Bin ich froh, dieses Problem endlich in den Griff bekommen zu haben dank Dir.
Tino vielen Dank
Gruß
Alex
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige