HERBERS Excel-Forum - das Archiv
Datei mit bestimmten Namen öffnen
Holla

Ich hab ein makro, dass auf Knopfdruck auffordert eine Datei zu öffnen.
Wie kann man es verhindern, dass die falsche ausgewählt wird. Die Namen der Dateien sind immer in folgender Form: XMLVJT2_JJJJ_Qx.xls , wobei JJJJ und X variabel sind.
Kann man da eine Fehlermeldung einbauen, wenn man die Falsche Datei nimmt oder ist es vielleicht einfacher den Filter irgendwie anzupassen, dass nur diese Dateien angezeigt werden.

wie sieht Dein Code aus? oT.
Tino

AW: wie sieht Dein Code aus? oT.
Holla

Die Stelle sieht so aus und das ganze muss ja irgendwie vor dem "Show" rein denke ich mal
With Application.FileDialog(msoFileDialogOpen)
.Title = "Vorletztes Ouartal einfügen"
.InitialFileName = PathStr
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "ExcelDateien", "*.xls"
.Show
If .SelectedItems.Count <> 1 Then
MsgBox "Vorletztes Quartal nicht aktualisiert"
GoTo LetztesQuartal
End If
FileStr = .SelectedItems(1)
End With
Set WStmp = Worksheets.Add
Set WB = Workbooks.Open(FileStr)
WB.Worksheets(1).UsedRange.Copy Destination:=WStmp.Range(ZWSFirstRange)
WB.Close
Set WB = Nothing
muss jetzt auf die arbeit, andere können
Tino

Hallo,
dies auch lösen, Frage offen. (sorry)
Gruß Tino
versuche es mal so.
Tino

Hallo,
Deine vorgaben noch anpassen.

Dim VorgabeJJJJ As String
Dim VorgabeX As String
Dim FileStr As String
VorgabeJJJJ = "2009" 'Deine vorgabe JJJJ
VorgabeX = "H" 'Deine vorgabe X
FileStr = Application.GetOpenFilename("Excel (*" & VorgabeJJJJ & "*" & VorgabeX _
& "*.xls), *.xls, Excel (*.xls),*" & _
VorgabeJJJJ & "*" & VorgabeX & "*.xls")
If FileStr <> CStr(False) Then
Set WStmp = Worksheets.Add
Set WB = Workbooks.Open(FileStr)
WB.Worksheets(1).UsedRange.Copy Destination:=WStmp.Range(ZWSFirstRange)
WB.Close
Set WB = Nothing
End If
Gruß Tino
oder so, müsste auch gehen...
Tino

Hallo,
Dim VorgabeJJJJ As String
Dim VorgabeX As String
Dim FileStr As String
VorgabeJJJJ = "2009" 'Deine vorgabe JJJJ
VorgabeX = "H" 'Deine vorgabe X
With Application.FileDialog(msoFileDialogOpen)
.Title = "Vorletztes Ouartal einfügen"
.InitialFileName = "*" & VorgabeJJJJ & "*" & VorgabeX & "*"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "ExcelDateien", "*.xls"
.Show
If .SelectedItems.Count <> 1 Then
MsgBox "Vorletztes Quartal nicht aktualisiert"
'        GoTo LetztesQuartal
End If
FileStr = .SelectedItems(1)
End With
Set WStmp = Worksheets.Add
Set WB = Workbooks.Open(FileStr)
WB.Worksheets(1).UsedRange.Copy Destination:=WStmp.Range(ZWSFirstRange)
WB.Close
Set WB = Nothing
Gruß Tino