Microsoft Excel

Herbers Excel/VBA-Archiv

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

Auswertungsdatei

Betrifft: Auswertungsdatei von: Nadi
Geschrieben am: 30.08.2004 14:17:05

Hallo zusammen,

gibt es eine Funktion, die sagt, dass für die Variable "Auswertungstag" die vorhandene Datei genommen wird, die am aktuellsten ist? Denn im Moment läuft das Makro auf einen Fehler, wenn die Datei vom aktuellen Tag (heute())nicht im Ordner vorhanden ist. Deshalb soll immer automatisch die Datei mit dem aktuellstem Datum genommen werden.

Ein Auszug aus dem Makro:

Sub DFÜ_Mitarbeiter_Import()
Auswertungsdatei = "Auswertung_Mein.xls"
Pfad = "C:\Daten\Excel\DFU Auswertung\"
fester_Dateinamenteil = "_Sales_DFU_Export.txt"
Auswertungsbeginn = Date
Auswertungstag = Date
temp_datum_heute = Format(Auswertungstag, "yyyy-mm-dd")
Auswertungstag = Date
Auswertungsbeginn = Date - 90
Sheets("Makros").Select
..................

Liebe Grüße

Nadi

  


Betrifft: AW: Auswertungsdatei von: Harald E
Geschrieben am: 30.08.2004 14:23:57

Hallo Nadi,

ich hab in etwa die gleiche Aufgabenstellung hier bei mir und löse es indem ich die Zelle mit dem gewünschten Datum aktiviere und dann den Code starte.

Hier der betreffende Codeschnipsel

Dim Filename As String
Filename = "C:\Eigene Dateien\NIO_FS" & Format(ActiveCell, "yyyymmdd")& ".xls"
If Dir(Filename) = "" Then ' ggf die Datumsformate nachbearbeiten
MsgBox "Gesuchte Datei wurde nicht gefunden."
Exit Sub
Else
Workbooks.Open Filename
End If

Hoffe es hilft

Gruß
Harald


  


Betrifft: AW: Auswertungsdatei von: Nadi
Geschrieben am: 30.08.2004 14:32:22

Hallo Harald,

erstmal danke. Aber leider klappt diese Lösung bei mir nicht. Die Meldung "Gesuchte Datei wurde nicht gefunden." wird bei mir immer ausgegeben. Auch wenn die Datei von heute im Ordner drin ist. Ausserdem soll die Auswertung ja auch dann laufen, wenn die Datei von heute noch nicht in dem Ordner ist. :0(


  


Betrifft: Hilfe............ von: Nadi
Geschrieben am: 30.08.2004 14:58:17

Kann mir denn keiner helfen? Das ist super wichtig. Ich komme einfach nicht weiter.


  


Betrifft: AW: Hilfe............ von: Nepumuk
Geschrieben am: 30.08.2004 16:52:55

Hallo Nadi,
aus deinem Codespisel geht nicht hervor, was da geöffnet werden soll. Ist das Datum Bestandteil des Dateinamens oder soll die Datei mit dem neuesten Erstelldatum geöffnet werden?
Gruß
Nepumuk


  


Betrifft: AW: Hilfe............ von: Nadi
Geschrieben am: 31.08.2004 08:39:45

Guten Morgen,

also bei der Auswertung werden zuerst alle Auswertungsdateien "[Datum]_Sales_DFU_Export.txt" im Ordner "G:\WD\IS\CPSales\Daten\Auswertung\Planungen\DFU Auswertung\" importiert. Und um diese Dateien geht es. Wenn z.B. "Auswertungstag" der 30.08.2004 ist und die Auswertungsdatei (siehe oben) vom 30.08.2004 ist (noch) nicht im Ordner "G:\WD\IS\CPSales\Daten\Auswertung\Planungen\DFU Auswertung\" dann führt das Makro die Auswertung nicht ordnungsgemäß durch (siehe meinen ersten Beitrag).

Dann werden die Informationen auf das neu angelegte Tabellenblatt "Daten" in dieser Arbeitsmappe geschrieben und auf dem Tabellenblatt "Übersicht" verarbeitet. Anschließend werden diese 2 Tabellenblätter in eine neue Datei gespeichert.

Die neue Datei befindet sich im selben Ordner und wird unter dem Namen "[Datum]_Auswertung_DFU_Mitarbeiter.xls" gespeichert.

Ich hoffe, dass es jetzt verständlicher ist.

Gruß

Nadi


  


Betrifft: AW: Hilfe............ von: Harald E
Geschrieben am: 31.08.2004 09:23:57

Guten Morgen Nadi,

2 Dinge sind mir nicht so ganz klar.
In der ersten Frage stehen die Dateiein in Laufwerk C: jetzt wohl aber in G:
Der Filename sollte schon ganz genau passen.
Zweitens...wenn die gesuchte Datei nicht da ist, ist es doch besser die Sache zu beenden, den Ordner zu aktualisieren und erneut zu starten. Wenn Du bei nicht gefundener Datei -statt Exit Sub- das Datum änderst um einen neuen Versuch zu starten, passiert es doch vielleicht, dass Du eine bereits ausgewertete Datei erneut auswertest..oder ?

Hier erneut der Codeschnipsel mit angepaßtem Filename (ggf. geht das dann mit workbook.open nicht sondern mit opentext.
Vielleicht wäre es sinnvoll das Öffnen der Textdatei aufzuzeichnen um die Codestelle darzustellen.

Dim Filename As String
Filename = "G:\WD\IS\CPSales\Daten\Auswertung\Planungen\DFU Auswertung\ & Format(ActiveCell, "yyyy-mm-dd")& "_Sales_DFU_Export.txt"
If Dir(Filename) = "" Then ' ggf die Datumsformate nachbearbeiten
MsgBox "Gesuchte Datei wurde nicht gefunden."
Exit Sub
Else
Workbooks.Open Filename
End If

Gruß
Harald


  


Betrifft: AW: Hilfe............ von: Nadi
Geschrieben am: 31.08.2004 09:31:10

Hallo Harald,

dass der Pfad anders ist hat nichts zu bedeuten. Das eben war nur die Doku des Makros. Ich habe es bei mir nur unter c gespeichert, damit ich nichts auf dem anderen Laufwerk zerstrubbel.
Ich brauche eifach eine Funktion, die ich bei "Auswertungstag=date" eingeben kann.
Auswertungstag soll sich nämlich nicht auf das aktuelle Systemdatum beziehen, sondern auf das aktuellste Datum welches im Ordner vorhanden ist. Das ist super wichtig, dass es in etwa so klappt. Kennst du so eine Funktion?

Gruß

Nadi


  


Betrifft: AW: Hilfe............ von: Harald E
Geschrieben am: 31.08.2004 09:53:54

Hallo Nadi,

ich tu mich da schwer mit der Forderung nach dem aktuellsten Datum in dem Ordner.
Läßt die Möglichkeit einer Doppelbearbeitung zu.

Dein Code steht doch in einer Datei, die Du geöffnet hast um die Auswertung zu starten.
Was hält dich davon ab, in dieser Datei eine Datumsreihe darzustellen (könnte man als bereits bearbeitet bzw. noch offen kennzeichnen). Aus dieser Datumsreihe aktivierst Du einfach die Zelle mit dem benötigten Datum und startest das Makro (das Datum nimmt er aus der aktiven Zelle. Mein Schnipsel nimmt nicht die Systemzeit !)

Ich lass die Frage offen, für Experten denen die Suche nach dem aktuellsten Datum in einem Ordner mehr zusagt. ;-)))

Gruß
Harald