Anzeige
Archiv - Navigation
1352to1356
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

Wechsel zwischen 2 Mappen

Wechsel zwischen 2 Mappen
26.03.2014 08:57:40
ANNAnas
Guten morgen Elite :)
ich bin mittlerweile mit meinen Latein am Ende...
Der vermeindlich leichte wechsel zwischen 2 Excel Dateien ist schwieriger zu realisieren als ürsprünglich gedacht.
Die Idee hinter mein Vorhaben:
in der Start.xlms steht eine Userform die alle Dateien aus dem Ordner X ausflistet und man diese mit einem Doppelklick öffnet. Die USerform von Start bleibt im Hintergrund geöffnet und die 2. Datei mit der anderen USerform öffnet sich. Mit dem Buttom Speichern & Beenden soll die 2. Datei sauber geschlossen werden und dann wieder zur Start Datei springen...leider funktioniert das nicht wie gewollt.
Der Quelltext aus der Start.xmls:
Workbook

Private Sub Workbook_Activate() 'Userform wird sofort gestartet
Application.Visible = False
UserForm1.Show
End Sub

in dessen Userform1:
'Listbox zur Auswahl der vorhandenen Einträge in dem unten angegebenen Ordner

Private Sub Listbox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Pfad As String
Pfad = "C:\Neuer Ordner\" 'Pfad zu den Dateien Anpassen!!!!!!!!!
Unload UserForm1
Workbooks.Open Pfad & Trim(ListBox1.List(ListBox1.ListIndex))
End Sub
In der Datei X (2) die immer den selben Aufbau hat:
Arbeitsmappe:
Private Sub Workbook_Open() 'Userform wird sofort gestartet
UserForm1.Show
End Sub
In der Userform1 der Datei:
'Beenden Schaltfläche Ereignisroutine

Private Sub CommandButton4_Click()
'hier wird geprüft, ob in der Textbox25 einen Wert enthält der > 0 und nicht leer ist
If TextBox25.Value = "" Or TextBox25.Value = "0" Then
MsgBox "Das Feld Prüfer muss gefüllt werden um fortzufahren!"
Exit Sub
'die Sub wird verlassen, ohne dass das Userform geschlossen wird!
End If
ThisWorkbook.Save
' ThisWorkbook.SaveAs "C:\Sicher\" & ThisWorkbook.Name
'Application.Visible = True
ThisWorkbook.Close
Workbooks("start.xlsm").Activate
End Sub
Der Prozedur wird bei der stelle "ThisWorkbook.Close" abgebrochen und die Start.xlsm nicht aktiviert. Gibt es eine Möglichkeit das zu umgehen? Bzw eine Ereignis in der Start.xlsm einzubauen der alle Workbooks bis auf die Start Datei schließt? Für Anregungen und Ideen bin ich euch sehr Dankbar :)
MfG

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wechsel zwischen 2 Mappen
26.03.2014 10:00:27
Tino
Hallo,
es wird abgebrochen weil der Code nicht beendet ist und schon geschlossen wird!
Versuch mal dies. (nicht getestet)
In Start.xlsm
Private Sub Workbook_Activate()
Dim obj As Object
Application.Visible = False
For Each obj In UserForms
If obj.Name = "UserForm1" Then Exit For
Next obj
If obj Is Nothing Then UserForm1.Show
End Sub
Erstelle in der Start.xlms noch ein Modul mit diesem Code.
Sub CloseWB(WBCloseName$)
Dim obj As Object
Application.EnableEvents = False
Workbooks(WBCloseName).Close False
Application.EnableEvents = True
For Each obj In UserForms
If obj.Name = "UserForm1" Then Exit For
Next obj
If obj Is Nothing Then UserForm1.Show
End Sub
In der anderen Datei so.
Private Sub CommandButton4_Click()
'hier wird geprüft, ob in der Textbox25 einen Wert enthält der > 0 und nicht leer ist
If TextBox25.Value = "" Or TextBox25.Value = "0" Then
MsgBox "Das Feld Prüfer muss gefüllt werden um fortzufahren!"
Exit Sub
'die Sub wird verlassen, ohne dass das Userform geschlossen wird!
End If
ThisWorkbook.Save
Application.OnTime Now + TimeSerial(0, 0, 1), _
"Start.xlsm!'CloseWB """ & ThisWorkbook.Name & """'"
End Sub
Gruß Tino

Anzeige
AW: Wechsel zwischen 2 Mappen
26.03.2014 11:23:09
ANNAnas
Hey Tino,
vielen Dank für die schnelle Antwort! Doch leider lässt sich das Problem noch nicht beheben...die Userform der 2. Datei bleibt weiterhin geöffnet :C
Hast du eventuell noch einen Ansatz den man verfolgen kann?
Grüße Annanas

AW: Wechsel zwischen 2 Mappen
26.03.2014 11:26:51
Tino
Hallo,
versuch mal und mach nach
ThisWorkbook.Save
einfach noch
Unload UserForm1
Gruß Tino

AW: Wechsel zwischen 2 Mappen
26.03.2014 11:35:43
ANNAnas
Hey,
das geht leider nicht...die Ereignisprozedur in
ThisWorkbook.Save
Unload UserForm1
Application.OnTime Now + TimeSerial(0, 0, 2), _
"C:\Neuer Ordner\Neuer Ordner\Start.xlsm!'CloseWB """ & ThisWorkbook.Name & """'"
wird wenn die Start.xlsm als erstes ausgeführt wird, nicht richtig beendet. D.h. wenn ich die 2. Datei starte und auf Speichern & beenden drücke funktioniert es. Wenn jedoch die Userform der start.xlsm als erstes ausgeführt wird, wird die 2. Datei nicht richtig beendet... :C
Grüße

Anzeige
ich lass mal offen
26.03.2014 13:10:09
Tino
Hallo,
dann weis ich jetzt auch nicht, habe jetzt aber auch keine Zeit mehr.
Gruß Tino

AW: ich lass mal offen
26.03.2014 14:23:23
ANNAnas
Ok, ich habe es soweit hinbekommen...
wenn ich in der start.xlsm den code des Moduls rausnehme kommt eine Fehlermeldung das das Modul nicht gefunden wurde. Drücke ich dann auf Ok wechsel ich automatisch wieder in die start.xlsm. Wenn ich das Modul
Sub CloseWB(WBCloseName$)
Dim obj As Object
Application.EnableEvents = False
Workbooks(WBCloseName).Close False
Application.EnableEvents = True
For Each obj In UserForms
If obj.Name = "UserForm1" Then Exit For
Next obj
If obj Is Nothing Then UserForm1.Show
End Sub
jedoch drinne lasse, kommt diese Fehlermeldung:
vba fokus kann nicht auf das steuerelement gesetzt werden...
hat jemand eine Idee?
LG :)

Anzeige
AW: ich habe es jetzt mal so versucht
01.04.2014 13:11:24
ANNAnas
Danke Tino :)
Funktioniert wie gewünscht
ganz liebe grüße ^^

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige