ich habe folgendes Problem. Der Anwender kann über VBA eine Datei auswählen. Um sicher zu gehen dass das richtige Arbeitsblatt verwendet wird möchte ich dieses gerne über eine Userform und ComboBox auswählen lassen. Heisst also zuerst soll man die Datei auswählen können und anschließend über eine geöffnete Userform eine der vorhandenen Tabellenblätter auswählen die an eine Variable übergeben werden sollen. Unten ein Auszug des Codes:
...
MsgBox "Bitte zu importierende Datei auswählen!"
strFile = Application.GetOpenFilename("Excel Dateien (*.xls; *.xlsx; *.xlsm)," & _
"*.xls; *.xlsx; *.xlsm")
If strFile = "Falsch" Then Application.Cursor = xlDefault
If strFile = "Falsch" Then Exit Sub
Set objWB = Workbooks.Open(strFile)
UserForm1.Show
'objtext soll der ausgewählte Wert der ComboBox sein
If Not SheetExist(objtext, objWB.Name) Then
MsgBox "Die ausgewählte Datei enthält kein Sheet mit dem Namen " & objtext & "! Der Import wurde abgebrochen."
GoTo ErrExit
Else
Set objWS = objWB.Sheets(objtext)
End If
...
UserForm enthält folgenden Code:
Private Sub UserForm_Activate()
Dim wSheet As Worksheet
ComboBox1.Clear
For Each wSheet In objWB.Worksheets 'hier ist nun der Fehler da ich das objWB nicht übergeben _
_
_
kann
If wSheet.Visible Then ComboBox1.AddItem wSheet.Name
Next
End Sub
Weiss jemand evtl. ob das überhaupt möglich ist?