Wer kann mir sagen, wie ich ein Formular aus einer anderen Excel Datei aufrufen kann. Wäre schon, wenn man die Quellcode kurz erklärt.
Vielen Dank im Voraus.
Gruß
File
Sub UFShow()
UserForm1.Show
End Sub
Sub form1()
Application.Run ("Mappe1.xls!UFShow") 'Dateinamen anpassen
End Sub
Sub ZeigeFremdesUserForm()
Const Dateiname = "Mappe1.xls"
'Bei Bedarf öffnen
If Not WBIsOpen(Dateiname) Then
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Dateiname
End If
Application.Run (Dateiname & "!UFShow") 'Dateinamen anpassen
End Sub
Function WBIsOpen(ByVal n As String) As Boolean
Dim wb As Workbook
For Each wb In Workbooks
If UCase(wb.Name) = UCase(n) Then
WBIsOpen = True
Exit Function
End If
Next wb
WBIsOpen = False
End Function
Sub UFShow()
Userform1.Show
End Sub
Option Explicit
Sub ZeigeFremdesUserForm()
Const Dateiname = "Extern.xls"
Dim wurde_geöffnet As Boolean
'Bei Bedarf öffnen
If Not WBIsOpen(Dateiname) Then
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Dateiname
wurde_geöffnet = True
ThisWorkbook.Activate
Application.ScreenUpdating = True
End If
'Userform aus Fremdmappe zeigen
Application.Run (Dateiname & "!UFShow") 'Dateinamen anpassen
'Mappe wieder schließen
If wurde_geöffnet Then
Workbooks(Dateiname).Close SaveChanges:=False 'oder True, je nach Wunsch
End If
End Sub
Function WBIsOpen(ByVal n As String) As Boolean
Dim wb As Workbook
For Each wb In Workbooks
If UCase(wb.Name) = UCase(n) Then
WBIsOpen = True
Exit Function
End If
Next wb
WBIsOpen = False
End Function