Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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

Datum automatisch in Dateiname

Datum automatisch in Dateiname
Martin
Hallo,
ich möchte einen Befehl schreiben in dem das Makro das aktuelle Datum nimmt und dieses zu einem Dateiname und (2) umwandelt. Für heute sollte dann also der Dateiname "07 April 2010 (2).xls" heissen, dann sollte das Makro überprüfen ob diese Datei existiert und wenn nicht einen Tag zurückgehen, dh dann testen ob die Datei ""06 April 2010 (2).xls" existiert. Ist dies möglich?
Tausend Dank für jede Hilfe!! Meine 2 VBA Bücher bringen mich seit Stunden nicht weiter...

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Dateiüberprüfung
07.04.2010 15:37:28
Backowe
Hi,
Sub Dateiname()
If Dir("C:\Temp\" & Format(Date, "dd mm yyyy") & "(2).xls")  "" Then
MsgBox "C:\Temp\" & Format(Date, "dd mm yyyy") & "(2).xls"
ElseIf Dir("C:\Temp\" & Format(Date, "dd mm yyyy") & "(2).xls")  "" Then
MsgBox "C:\Temp\" & Format(Date - 1, "dd mm yyyy") & "(2).xls"
Else
MsgBox "Existiert auch nicht! Was nun! ;-)"
End If
End Sub
Gruß Jürgen
Finde ich sehr "nett" von dir, dass du hier...
07.04.2010 16:42:01
dir,
…einen neuen Thread zum gleichen Thema aufmachst ohne auf die dort teilweise ähnl Vorschläge überhpt zu reagieren. So Einer/m hilft man dann besonders gern… :-(
Luc :-?
Anzeige
AW: Finde ich sehr "nett" von dir, dass du hier...
07.04.2010 17:28:03
dir,
ach Luc! Ich sitze fast den ganzen Tag schon an dem Makro, habe 2 Bücher und etliche Homepages durchforstet aber kam noch zu keiner Lösung. Dann viel mir ein anderer Lösungsweg ein (Datum in Dateiname) und daraufhin habe ich DER ÜBERSICHT halber einen neuen Thread aufgemacht damit es die Nachwelt auch unter diesem Stichpunkt findet. Mein Gott bist du pingelig. Ich versuche mir selbst VBA beizubringen was trotz mathematischen Studium echt nicht leicht ist, da helfen deine Nörgeleien nicht wirklich. Den anderen danke ich echt sehr herzlich für ihre Beiträge!! Mittlerweile habe ich es hinbekommen, dass er immer einen Tag zurückläuft, aber er hört nicht auf wenn er eine Datei gefunden hat obwohl er das soll :-)
Anzeige
Das ist dein Problem! Mein Makro macht...
07.04.2010 18:40:22
Luc:-?
…genau, was es soll, Martin,
und du musst nicht mal prüfen, wie die letzte Datei hieß…! Allein der WoTag ist entscheidend!
Wenn du meinst, neue Forumsregeln einführen zu müssen, bitte! Aber wundere dich nicht, wenn dann weniger helfen. Ich habe jedenfalls kein Forum und keine 2 VBA-Bücher bemühen müssen, um VBA zu lernen! Also ist das keine Entschuldigung…
Luc :-?
AW: Dateiüberprüfung
07.04.2010 16:45:53
Martin
Jürgen, vielen Dank für deine Hilfe! Ich habe das mal eingebaut aber es passiert nicht wirklich was:
Sub test()
'Variablendeklaration
Dim wb_Quelldatei As Workbook
Dim ws_Quelldatei As Worksheet
Dim wb_Zieldatei As Workbook
Dim ws_Zieldatei As Worksheet
Dim i As Integer
Dim datum As Date
On Error Resume Next
For i = 1 To 10
If Dir("O:\Dat\XXX\02Alle\Trainee\Martin\VBA\" & Format(Date, "ddmmyyyy") & "(2)" & ".xls")  " _
" Then
Else: Dir ("O:\Dat\XXX\02Alle\Trainee\Martin\VBA\" & Format(Date - 1, "ddmmyyyy") & "(2)" & ". _
xls")
Workbook.Open
Set ws_Quelldatei = ActiveWorkbook.Sheets("Tabelle1")
Set ws_Zieldatei = ThisWorkbook.Sheets("Tabelle1")
ws_Zieldatei.Cells(i + 1, 1) = ws_Quelldatei.Cells(2, 1)
ws_Zieldatei.Cells(i + 2, 2) = ws_Quelldatei.Cells(2, 2)
'ActiveWorkbook.Close False
End If
Next i
'Drücke F9
Calculate
End Sub

Das Makro soll schauen ob eine Datei mit dem entsprechenden Datum ab heute beginnend vorhanden ist: Wenn ja, dann die 2 Werte kopieren und dabei immer eine Zeile nach unten rutschen. Wenn die Datei NICHT vorhanden ist, schauen ob eine Datei mit einem Tag zurück existiert usw. Das ganze aber nur zB 10 Mal weil sonst geht er ja bis ins Mittelalter zurück :-) Wichtig ist, dass die Tabelle in der Zieldatei stets fortgeführt wird, dh nihct nur für die letzten 10 existierenden Dateien.
Anzeige
Dann eher so
07.04.2010 17:11:02
Backowe
Hi Martin,
Code ist ungetestet!
Option Explicit
Sub test()
'Variablendeklaration
Dim wb_Quelldatei As Workbook
Dim ws_Quelldatei As Worksheet
Dim wb_Zieldatei As Workbook
Dim ws_Zieldatei As Worksheet
Dim i As Integer
For i = 0 To 9
If Dir("O:\Dat\XXX\02Alle\Trainee\Martin\VBA\" & Format(Date - i, "dd mm yyyy") & "(2)" & ". _
xls")  "" Then
Workbooks.Open "O:\Dat\XXX\02Alle\Trainee\Martin\VBA\" & Format(Date - i, "ddmmyyyy") & "(2) _
" & ".xls"
Set ws_Quelldatei = ActiveWorkbook.Sheets("Tabelle1")
Set ws_Zieldatei = ThisWorkbook.Sheets("Tabelle1")
ws_Zieldatei.Cells(i + 1, 1) = ws_Quelldatei.Cells(2, 1)
ws_Zieldatei.Cells(i + 2, 2) = ws_Quelldatei.Cells(2, 2)
'ActiveWorkbook.Close False
'Drücke F9
Calculate
End If
Next
End Sub

Gruß Jürgen
Anzeige
Warum ein neuer Thread?
07.04.2010 16:38:30
Erich
Hi Martin,
gibt es da außer den Büchern nicht auch noch diesen Thread - heute in diesem Forum?
https://www.herber.de/forum/archiv/1148to1152/t1150436.htm
Wenn du schon meinst einen neuen Thread eröffnen zu müssen, dann verweise doch bitte mit einem Link darauf,
dass es bereits Bemühungen gab. Das habe ich hiermit für dich getan.
Grüße von Erich aus Kamp-Lintfort
AW: Warum ein neuer Thread?
08.04.2010 09:57:02
Martin
Hallo,
ich bein bei meinem Problem leider nicht wirklich vorwärts bekommen: Wir gelingt einfach die Verbindung zwischen der Schleife, dem Öffnen der Datei und dann der Beendigung der Schleife nicht:
Sub test()
'Variablendeklaration
Dim wb_Quelldatei As Workbook
Dim ws_Quelldatei As Worksheet
Dim wb_Zieldatei As Workbook
Dim ws_Zieldatei As Worksheet
Dim intCounter As Integer
'On Error Resume Next
intCounter = 1
Filename = Dir("O:\Dat\5080\02Alle\Trainee\Martin\VBA\" & Date & "(2)" & ".xls")
Do While Filename = False
intCounter = intCounter - 1
Workbooks.Open (Dir)
Set ws_Quelldatei = ActiveWorkbook.Sheets("Tabelle1")
Set ws_Zieldatei = ThisWorkbook.Sheets("Tabelle1")
ws_Zieldatei.Cells(i + 1, 1) = ws_Quelldatei.Cells(2, 1)
ws_Zieldatei.Cells(i + 2, 2) = ws_Quelldatei.Cells(2, 2)
'ActiveWorkbook.Close False
Loop
'Drücke F9
Calculate
End Sub
Beim jetzigen Stand öffnet er die Datei gar nicht mehr. Ist denn die Do While-Schleife richtig oder muss ich eher die Do until-Schleife nehmen oder ist das egal? Danke für jeden Tipp!
Anzeige
Viel Spaß bei der Fehlersuche! ;-) oT
08.04.2010 16:29:20
Backowe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige