Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1580to1584
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
Inhaltsverzeichnis

Datei öffnen

Datei öffnen
28.09.2017 11:30:10
Franky
Hallo zusammen,
ich habe folgendes Problem und zwar mööchte ich über Excel Tagesabrufzahlen auswerten. Deswegen öffne ich immer eine Datei vom Vortag und Werte Sie aus. Jetzt gibt es allerdings zum Beipiel für das Wochenende oder Feiertage keine solche Dateien, also findet er nichts in dem dafür vorgesehenen Ordner.
wie bekomme ich es hin, dass wenn er zum Beispiel die Datei VAK_Abrufzahlen_27092017, also die von gestern nicht findet, die Datei von vorgestern sucht, also VAK_Abrufzahlen_26092017?
Also das er quasi solange Rückwärts die Tage abklappert, bis er wieder eine Datei findet und diese dann öffnet. Im moment gibt es ja immer eine Fehlermeldung wenn die Datei nicht vorhanden ist.(strAbrufalt)
Hoffe ich habe es anschaulich genug erklärt. Hier mal mein bisheriger Code dazu:
Sub Tabellen_laden()
Dim strAbrufalt, strAbrufneu As String
strAbrufalt = strProdArea & "_Abrufzahlen_" & Format(Date - 1, "yyyymmdd") & ".xlsx"
strAbrufneu = "Tabelle von Basis" & ".xlsx"
'Tabelle umbenennen
Worksheets(1).Name = strProdArea & " Abrufzahlenvergleich " & Format(Date, "dd.mm.")
Worksheets(2).Name = strProdArea & " Abrufzahlenvergleich " & Format(Date - 1, "dd.mm.")
'Alte Tabellen Laden
Workbooks.Open (ThisWorkbook.Path & "\" & "Historie Abrufzahlen" & "\" & strAbrufalt)
Workbooks(strAbrufalt).Worksheets(1).UsedRange.Copy Destination:=ThisWorkbook.Worksheets(2). _
_
Range("A1")
'Neue Tabelle Laden
Workbooks.Open (ThisWorkbook.Path & "\" & strAbrufneu)
Workbooks(strAbrufneu).Worksheets(1).UsedRange.Copy Destination:=ThisWorkbook.Worksheets(1). _
_
Range("A1")
'Tabellen schließen
Application.DisplayAlerts = False
Worksheets(3).Delete
Workbooks(strAbrufalt).Close savechanges:=False
Workbooks(strAbrufneu).Close savechanges:=False
Application.DisplayAlerts = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen
28.09.2017 11:30:50
Franky
Danke schonmal und viele Grüße :)
prüfe mit der Dir-Funktion ob Datei vorhanden owT
28.09.2017 12:11:41
Matthias
AW: Datei öffnen
28.09.2017 12:52:41
Peter(silie)
hallo,
vor Workbooks.Open:
If Dir(strAbrufneu, vbDirectory)  vbNullString Then

@ Peter: Doppelt hält besser, oder was?
28.09.2017 12:55:47
Michael
Hat ja Matthias schon geschrieben...
AW: Datei öffnen
28.09.2017 13:34:06
Franky
Danke für die schnelle Antwort, allerdings klappt das nicht so recht..
Es geht außerdem um strAbrufalt, da soll er solange suchen bis er eine Datei findet.
Wie genau müsste ich den Code dann gestalten?
Danke schonmal! :)
AW: Datei öffnen
28.09.2017 14:01:15
Peter(silie)
Hallo,
Schleifen sind dir ein Begriff...?

Dim StartPfad As String
Dim DateiPfad As String
StartPfad = ThisWorkbook.Path & "\" & "Historie Abrufzahlen" & "\"
For i = 1 To CountFiles(StartPfad)
strAbrufalt = strProdArea & "_Abrufzahlen_" & Format(Date - i, "yyyymmdd") & ".xlsx"
DateiPfad = StartPfad & strAbrufalt
If Dir(DateiPfad, vbDirectory)  vbNullString Then
... Sonstiger Code
End if
Next i
Private Function CountFiles(ByVal Path_ As String) As Long
Dim File_ As String
If Path_ = "" Then Exit Function
File_ = Dir(Path_)
Do While File_  ""
CountFiles = CountFiles + 1
File_ = Dir()
Loop
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige