Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Datei mit bestimmten Namen öffnen | Herbers Excel-Forum


Betrifft: Datei mit bestimmten Namen öffnen von: Holla
Geschrieben am: 13.11.2009 12:14:24

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.

  

Betrifft: wie sieht Dein Code aus? oT. von: Tino
Geschrieben am: 13.11.2009 12:40:42




  

Betrifft: AW: wie sieht Dein Code aus? oT. von: Holla
Geschrieben am: 13.11.2009 12:48:54

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


  

Betrifft: muss jetzt auf die arbeit, andere können von: Tino
Geschrieben am: 13.11.2009 13:08:22

Hallo,

dies auch lösen, Frage offen. (sorry)

Gruß Tino


  

Betrifft: versuche es mal so. von: Tino
Geschrieben am: 13.11.2009 22:53:05

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


  

Betrifft: oder so, müsste auch gehen... von: Tino
Geschrieben am: 14.11.2009 07:01:33

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


Beiträge aus den Excel-Beispielen zum Thema "Datei mit bestimmten Namen öffnen"