Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
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
andere Datei öffnen - UF geht nicht
16.02.2021 11:26:32
Peter
Hallo ihr Excel-Spezialisten,
ich habe ein Problem und bitte euch um Hilfe.
Mit dem folgenden Code öffne ich die andere Datei:

Option Explicit
Sub workbook_open()
Dim wb As Workbook          'Workbook
Dim wksH As Worksheet       'Hilfstabelle
Dim strPfadZiel As String
Dim strNameZiel As String
Application.ScreenUpdating = False  'Bildschirmaktualisierung ausgeschaltet
Application.WindowState = xlMaximized 'maximize Excel
ActiveWindow.WindowState = xlMaximized 'maximize the workbook in Excel
Set wb = ThisWorkbook
Set wksH = wb.Worksheets("Hilfstabelle")
strPfadZiel = wksH.Range("C8") & wksH.Range("C13") & "\"
strNameZiel = wksH.Range("F2")
Debug.Print strPfadZiel
Debug.Print strNameZiel
'Anfang - Auflistung Dateien Basis und Laufend
Call Dateien_E
Call Dateien_F
'Ende - Auflistung Auflistung Dateien Basis und Laufend
'!!!!!   Prüfung einfügen ob bereits geöffent !!!!
If wksH.Range("E2") > "" And wksH.Range("F2") > "" Then
MsgBox "lfd. Datei öffnen"
Application.EnableEvents = False
Workbooks.Open Filename:=strPfadZiel & strNameZiel
Application.EnableEvents = True
'Application.Run ("Mappe_laufend.xlsm!workbook_Open2")
Application.Run (strNameZiel & "!Workbook_Open2")
ElseIf wksH.Range("E2") > "" And wksH.Range("F2") = "" Then
MsgBox "Basis öffnen"
End If
Set wb = Nothing
Set wksH = Nothing
Application.ScreenUpdating = True  'Bildschirmaktualisierung eingeschaltet
End Sub
Das Öffnen der 2. Datei funktioniert. Auch der Aufruf des Makros mit dem Schliessen der 1. Datei funktioniert.
Was jedoch nicht funktioniert ist, dass sich die UserForm1 öffnet nachdem die 1. Datei geschlossen wurde.

Sub Workbook_Open2()
Dim liWs As Integer
For liWs = 1 To Workbooks.Count
'If Workbooks("Ausführungsdatei.xlsm").Name = "Ausführungsdatei.xlsm" Then
If Workbooks(liWs).Name = "Ausführungsdatei.xlsm" Then
Workbooks("Ausführungsdatei.xlsm").Close True
UserForm1.Show
Exit For
End If
Next
UserForm1.Show
End Sub
Wo ist der Fehler?
Besten Dank
Gruss Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: andere Datei öffnen - UF geht nicht
16.02.2021 11:33:15
ralf_b
setz doch vor das Userform die Workbookreferenz wo die UF drin ist.
Evtl. ist im gerade aktiven Workbook keine UF.
gruß
rb
AW: andere Datei öffnen - UF geht nicht
16.02.2021 13:08:51
Peter
Hallo Ralf,
besten Dank für Deine Hilfe. Wie setze ich bitte die Workbookreferenz.
Workbooks("Mappe_laufend.xlsm").UserForm1.Show geht nicht.
Fehlermeldung Laufzeitfehler 438 Objekt unterstützt Eigenschaft oder Methode nicht.
Kannst Du mir bitte sagen, was ich einfügen soll.
Gruss
Peter
AW: andere Datei öffnen - UF geht nicht
16.02.2021 14:17:39
ralf
Befindet sich die Userform in der Datei ,die den Code ausführt?
Ist der Name der Userform richtig geschrieben?
AW: andere Datei öffnen - UF geht nicht
17.02.2021 06:18:58
Peter
Hallo Ralf,
der erste von mir genannte Code befindet sich in der Datei, welche die andere Datei öffnet.
Datbei wird der 2. von mir aufgeführte Code ausgeführt. Und in der neu geöffneten Datei befindet sich die UserForm1. Diese soll geöffnet werden.
Nach dem Öffnen der UF soll dann die 1. Datei geschlossen werden.
Sobald die UF geöffnet wird, wird die Datei nicht mehr geschlossen. Drehe ich das ganze um, und ich schliesse zuerst die 1. Datei, dann wird die UF nicht geöffnet.
Was soll ich bitte machen? Gibt es einen anderen Weg?
Gruss
Peter
Anzeige
AW: andere Datei öffnen - UF geht nicht
17.02.2021 10:07:00
ralf_b
Soweit ich das mit meinen oberflächlichen VBA Kenntnissen kenne, geht das nicht. VBA kann nicht mal eben die Codequelle wechseln. Aber du kannst natürlich vba code in externen Dateien aufrufen. https://www.excel-inside.de/vba-loesungen/sonstiges/623-vba-makro-in-externer-arbeitsmappe-aufrufen.html
Nur bleibt die 1.Datei quasi noch federführend und kann nicht geschlossen werden. Vielleicht reicht es ja wenn du die erste Datei noch ein bissel offen läßt.
gruß
rb
Anzeige
AW: andere Datei öffnen - UF geht nicht
18.02.2021 13:46:31
Peter
Hallo Ralf,
besten Dank für Deine Hilfe.
In DieseArbeitsmappe habe ich das folgende Makro:

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:01"), "StartUF1" 'Ersatz für bisheriges  _
Workbook_Open
End Sub
und in einem Modul habe ich das Makro: Sub StartUF1()
Die Datei beinhaltet die bisherige Workbook_Open.
Das ganze basiert auf dem Link: https://www.herber.de/forum/archiv/1040to1044/1041849_Exceldatei_mit_Userform_in_eigener_Instanz.html
Das ganze funktioniert einwandfrei.
Wünsche Dir eine gute Zeit bis zum nächsten Mal
Gruss
Peter
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige