Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsmappen öffnen VBA

Arbeitsmappen öffnen VBA
04.07.2007 10:48:40
jjo
Hallo Zusammen,
wie kann ich den u.g. Code am elegantesten lösen, da er ja nur EINE Sprungmarke aktzeptiert.
Will eigentlich nur ne Datei öffnen, und wenn er die mit Datum Gestern nicht findet, soll er halt bis zu 5 Tage in die Vergangenheit gehen, um die Datei zu finden.
Am liebsten wär mir ja ne Schleife, dass er solang sucht, bis er die "jüngste" Datei findet, also die neueste, aber das blick ich wieder nicht, wie ich die in dem Pfad da einbauen soll^^
Vielen Dank im Voraus!!!
Jörg

Sub Gross_aktualisieren()
ChDir "x\x"
On Error GoTo weiter1
Workbooks.Open Filename:="N:\x\x Stand " & Date - 1 & ".xls", UpdateLinks:=0
Exit Sub
On Error GoTo weiter2
weiter1:    Workbooks.Open Filename:="x\x Stand " & Date - 2 & ".xls", UpdateLinks:=0
Exit Sub
On Error GoTo weiter3
weiter2:    Workbooks.Open Filename:="N:\x\x Stand " & Date - 3 & ".xls", UpdateLinks:=0
Exit Sub
On Error GoTo weiter4
weiter3:    Workbooks.Open Filename:="N:\x\x Stand " & Date - 4 & ".xls", UpdateLinks:=0
Exit Sub
On Error GoTo fehler
weiter4:    Workbooks.Open Filename:="N:\x\x Stand " & Date - 5 & ".xls", UpdateLinks:=0
Exit Sub
fehler:     MsgBox "Irgendwas stimmt nicht"
Exit Sub
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappen öffnen VBA
04.07.2007 10:55:00
Hajo_Zi
Hallo Jörg,

Option Explicit
Sub Gross_aktualisieren()
Dim ByI As Byte
ChDir "x\x"
For ByI = 1 To 5
'       von Berti Koern
Dim Fso, Dateiname
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "N:\x\x Stand " & Date - ByI & ".xls"
'       Ergänzung öffnung Hajo
If Fso.FileExists(Dateiname) Then
Workbooks.Open Dateiname, UpdateLinks:=0
Exit Sub
End If
Next ByI
MsgBox "Irgendwas stimmt nicht"
End Sub



Anzeige
Frage an Hajo
04.07.2007 11:34:00
Bernd
Hi Hajo,
ich habe versucht, den Code an mein Bedürfniss anzupassen. Ich brauche auch ein Makro, das nur die neueste Datei öffent. Leider kommt bei mir immer die Msg.-Box-Meldung. Die Daten liegen vesuchsweise auf Lw D im Verzeichnis a_temp. Willst du mir helfen?

Sub D_Hajo_aktualisieren()
Dim ByI As Byte
ChDir "D:\a_temp"
For ByI = 1 To 5
'       von Berti Koern
Dim Fso, Dateiname
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "D:\a_temp" & Date - ByI & ".xls"
'       Ergänzung Öffnung Hajo
If Fso.FileExists(Dateiname) Then
Workbooks.Open Dateiname, UpdateLinks:=0
Exit Sub
End If
Next ByI
MsgBox "Irgendwas stimmt nicht"
End Sub


Danke Bernd

Anzeige
AW:Datei öffnen
04.07.2007 11:37:00
Hajo_Zi
hallo Bend,
ist Dein Dateiname genauso aufgebaut?
Es werden nur von Heute 5 Tage zurück gerechnet.
wegen der Sortierug sollte man eigentlich ein anderes Datumsformat wählen "JJJJMMTT"
Gruß Hajo

Anzeige
an Hajo
04.07.2007 11:49:00
Bernd
Hi Hajo,
das sind die Dateinamen:
https://www.herber.de/bbs/user/43817.jpg
Ich lese das Verzeichnis aus und möchte nur die neueste Datei haben, im Bild wäre das der Monat 09.2006. Der Nachteil beim Speicherdatum ist der, dass ein älterer Bericht, z.B. der vom Juli, ja geöffnet worden sein kann und dann neu abgespeichert. Dann ist der Juli-bericht der "jüngste" gemäß Speicherdatum.
Ideal wäre, den Code für ein Auslesen einmal nach neustem Dateinamen (der Ascii-Code ist doch füür 09.2006 größer als für 08.2006, oder ?) und einmal nach Speicherdatum...
Herzliche Grüße
Bernd

Anzeige
AW: Arbeitsmappen öffnen VBA
04.07.2007 10:59:00
Rudi
Hallo,

Sub Gross_aktualisieren()
Dim n As Integer
Do
n = n + 1
Loop While Dir("N:\x\x Stand " & Date - n & ".xls") = "" And n 


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Danke Hajo und Rudi!!!
04.07.2007 11:08:40
jjo
Vielen Dank für eure schnelle Hilfe. Hab den "ersten" Code von Hajo genomm und funzt einwandfrei!
Danke nochmal
Gruß
Jörg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige