Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1116to1120
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
Fehler im Makro bei Dateiname
Dieter
Hallo Experten,
ich hab mir ein Makro gebaut, dass vor zwei Wochen noch funktioniert hat. Jetzt funktioniert es nicht mehr und ich weiß nicht warum.
Es hängt sich immer an der Stelle auf:
If Not .InitialFileName Like "XMLVJT2_?_Q?.xls" Then
MsgBox "Möglicherweise haben Sie eine falsche Datei ausgewählt. Bitte versuchen Sie es erneut!"
GoTo VorletztesQuartal
End If
Das heißt auch wenn die ausgewählte Datei in der Form ist kommt die Fehlermeldung.
Kann mir einer helfen?
PS: Ohne das funktioniert es einwandfrei nur ohne die Fehlermeldung (MsgBox), die ich gerne drinhaben möchte.
Private Sub CommandButton1_Click()
Dim WStmp As Worksheet
Dim ZWS As Worksheet
Dim QWSName As String
Dim ZWSFirstRange As String
Dim ZWSSecondRange As String
Dim FileStr As Variant
Dim PathStr As Variant
Dim WB As Workbook
Set ZWS = Worksheets("Quartaltabellen")
PathStr = "D:\D14\Panne\HerrMeyer\Orignal"
QWSName = "Tabelle1"
ZWSFirstRange = "A1"
ZWSSecondRange = "A230"
VorletztesQuartal:
'Vorletztes Quartal
With Application.FileDialog(msoFileDialogOpen)
.Title = "Vorletztes Ouartal einfügen"
.InitialFileName = "XMLVJT2_?_Q?.xls"
.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)
If Not .InitialFileName Like "XMLVJT2_?_Q?.xls" Then
MsgBox "Möglicherweise haben Sie eine falsche Datei ausgewählt. Bitte versuchen Sie  _
es erneut!"
GoTo VorletztesQuartal
End If
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
LetztesQuartal:
'Letztes Quartal
With Application.FileDialog(msoFileDialogOpen)
.Title = "Letztes Ouartal einfügen"
.InitialFileName = "XMLVJT2_?_Q?.xls"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "ExcelDateien", "*.xls"
.Show
If .SelectedItems.Count  1 Then
MsgBox "Letztes Quartal nicht aktualisiert"
GoTo Ende
End If
FileStr = .SelectedItems(1)
End With
Set WB = Workbooks.Open(FileStr)
WB.Worksheets(1).UsedRange.Copy Destination:=WStmp.Range(ZWSSecondRange)
WB.Close
Set WB = Nothing
ZWS.UsedRange.Clear
WStmp.UsedRange.Copy Destination:=ZWS.Range(ZWSFirstRange)
Ende:
On Error Resume Next
Application.DisplayAlerts = False
WStmp.Delete
Set WStmp = Nothing
Application.DisplayAlerts = False
WB.Close
Set WB = Nothing
End Sub

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

Betreff
Benutzer
Anzeige
AW: Fehler im Makro bei Dateiname
25.11.2009 14:28:38
Rudi
Hallo,
auch wenn die ausgewählte Datei in der Form ist

was hat denn .Initialfilename mit der ausgewählten Datei zu tun?
If not Filestr like ....
Gruß
Rudi
AW: Fehler im Makro bei Dateiname
25.11.2009 14:32:18
Dieter
Tut mir leid die MsgBox kommt trotsdem noch
AW: Fehler im Makro bei Dateiname
25.11.2009 14:32:12
Luschi
Hallo Dieter,
in dieser Form kann das Makro auch vor 2 Wochen nicht funktioniert haben, da nach der Dateiauswahl
der Inhalt von '.InitialFileName' auch den Laufwerksbuchstaben und die Pfadangabe mitliefert.
In meinem Fall liegt die Datei XMLVJT2_1234_Q9.xls hier: Y:\1\XMLVJT2_1234_Q9.xls und .InitialFileName
liefert folgenden Wert: Y:\1\XMLVJT2_?_Q?.xls
Deshalb muß die If-Abfrage mindestens so lauten:
If Not .InitialFileName Like "*\XMLVJT2_?_Q?.xls" Then
Willst Du auch noch erzwingen, das die ausgewählte Datei auf dem Laufwerk 'y' liegt, dann so:
If Not .InitialFileName Like "y:\*\XMLVJT2_?_Q?.xls" Then
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler im Makro bei Dateiname
25.11.2009 14:39:35
Dieter
Ich hab mich schon gefreut, dass die MsgBox nicht mehr auftaucht. Dann habe ich die Probe auf´s Exempel gemacht und ganz bewusst eine falsche Datei ausgewählt. Leider wurde die Datei dann eingefügt, obwohl das ja nicht passieren sollte und an der Stelle dann die Fehlermeldung greifen sollte.
AW: Fehler im Makro bei Dateiname
25.11.2009 14:51:19
Luschi
Hallo Dieter,
mit .InitialFileName sorgt man nur dafür, daß im Datei-Dialog nur die Dateien zur Auswahl stehen, die dem vorgegebenen Muster entsprechen. Wenn die dann vom User ausgewählte Datei noch anderen Kriterien entsprechen muß (z.B. aktueller Monat), dann muß das Initialraster verfeinert werden oder die Variable 'FileStr' weiter ausgewertet werden.
Es kann ja sein, das die 4 Fragezeichen im Muster das Jahr und den Monat vorgeben (0409) für Aprill 2009.
Gruß von Luschi
aus klein-Paris
Anzeige
und überhaupt ...
25.11.2009 14:34:22
Rudi
ist LIKE Case-Sensitiv, unterscheidet also Groß- und KLeinschreibung.
Gruß
Rudi

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige