Registriert seit: 10.03.2016
Version(en): 2013
Hallo zusammen,
ich suche ein Makro mit dem die aktuell geöffnete Datei durch einen Klick auf die entsprechende Schaltfläche entsprechend umbenannt wird und anschließend gespeichert:
aktueller Dateiname: "Test"
neuer Dateiname: "Test_19_08_2017" also mit aktuellem Datum
Danke für eure Hilfe.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
Sub SpeichernMitDatum()
With ActiveWorkbook
.SaveAs .Name & Format(Date, "_dd_mm_yyyy"), 52
End With
End Sub
Code eingefügt mit: Excel Code JeanieGruß Uwe
Registriert seit: 10.03.2016
Version(en): 2013
Hallo Uwe,
danke für die Antwort, leider funktioniert es nicht so wie ich es mir vorstelle.
Zum besseren Verständnis, ich habe eine Vorlagendatei in dieser wird zuerst das folgende Makro ausgeführt:
Code:
Sub Datei erstellen()
Dim NeuerName As String, Speicherpfad As String
Speicherpfad = "C:\Users\Test\Documents"
NeuerName = "Übersicht_" & Range("B2") & Format(Date, "_dd_mm_yy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=NeuerName
End Sub
In Zelle B2 steht "Testuser"
Ein neue Datei wird dadurch unter dem Namen "Übersicht_Testuser_19_08_2017" im Format .xlsm unter dem oben genannten Speicherpfad abgespeichert. Die Vorlagendatei bleibt unverändert.
Die neue Datei wird dann bearbeitet und durch einen Klick auf die entsprechende Schaltfläche soll diese umbenannt werden und anschließend gespeichert:
aktueller Dateiname: "Übersicht_Testuser_19_08_2017"
Neuer Dateiname: "Übersicht_Testuser_
20_08_2017"
Es soll sich lediglich das Datum auf das aktuelle Tagesdatum ändern und nur noch die Datei mit dem neuen Dateiname verfügbar sein.
Danke für die Hilfe.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
(20.08.2017, 13:50)Basti123 schrieb: danke für die Antwort, leider funktioniert es nicht so wie ich es mir vorstelle.
das Makro macht genau das, was Du ursprünglich fragtest. Dass sich Deine Vorstellungen zwischenzeitlich änderten, konnte ich nicht wissen.
Gruß Uwe
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
(20.08.2017, 13:50)Basti123 schrieb: Es soll sich lediglich das Datum auf das aktuelle Tagesdatum ändern und nur noch die Datei mit dem neuen Dateiname verfügbar sein.
Sub ErsetzenMitHeutigemDatum()
Dim strDateiAlt As String
Dim strPfad As String
Dim varZ As Variant
With ActiveWorkbook
strDateiAlt = .FullName
strPfad = .Path & Application.PathSeparator
varZ = Split(.Name, "_")
If DateSerial(Left(varZ(UBound(varZ) - 0), InStr(1, varZ(UBound(varZ) - 0), ".")), _
varZ(UBound(varZ) - 1), varZ(UBound(varZ) - 2)) = Date Then
.Save
Else
varZ(UBound(varZ) - 0) = Format(Date, "yyyy")
varZ(UBound(varZ) - 1) = Format(Date, "mm")
varZ(UBound(varZ) - 2) = Format(Date, "dd")
.SaveAs strPfad & Join(varZ, "_"), 52
Kill strDateiAlt
End If
End With
End Sub
Code eingefügt mit: Excel Code JeanieGruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Basti123
Registriert seit: 10.03.2016
Version(en): 2013
Hallo Uwe,
funktioniert super, vielen Dank für die Hilfe :)
Registriert seit: 16.08.2017
Version(en): Alle
Hi Uwe,
Application.PathSeparator ist in Zeiten von SharePoint etwas gefährlich Ich weiß eh nicht, wozu der gut ist (vielleicht in Ostindien oder in Mondonistan)Aber auch da nicht wirklich, da es ja Application.PathSeparator ist und nicht System blablaTechnisch prüft man ob \ oder / im Pfad jedenfalls in der mir bekannten Unterwelt :15: In der Regel geht jeder faule Progger von einem FileServer aus und nimmt den \Und dann sind wir wieder beim Application.PathSeparator :19: Es würde mich wirklich mal interessieren, ob in irgendeiner Umgebung dies etwas anderes als \ zurückgibt - ich meine Application.PathSeparator
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hi Jeanie,
(22.08.2017, 19:59)Jeanie schrieb: Es würde mich wirklich mal interessieren, ob in irgendeiner Umgebung dies etwas anderes als \ zurückgibt - ich meine Application.PathSeparator
z.B. beim Obst-Excel. Bei Verwendung einer Exceldatei abwechselnd auf Mac- und Windowsversion könnte es nützlich sein wie z.B.
hier.
Gruß Uwe
Registriert seit: 16.08.2017
Version(en): Alle
Hi,
aahhh , die Unixwelt vergesse ich doch immer wieder, da diese nicht zu meinem Universum gehört.
Und ich die auch grundsätzlich ausschließe.
Aber was spricht auch hier dagegen zu Prüfen ob der Pfad ein \ oder / enthält und den Delimiter dann entsprechend zu setzen.
if Instr(1,Pfad,"\") then sDelim = "\" else sDelim = "/"
oder ähnlich.
Sonst hat man in der Windows Welt das Problem mit SharePoint.
und ich gebe es ganz offen zu - auch wenn ich jetzt nicht nur von den Unixanhängern in die Hölle gewünscht werde:
ein MAC ist für mich sowohl in der Gummifood als auch in der PC Welt einfach nicht existent :19:
Ich würde aber auch niemals eine Anwendung MAC kompatible erstellen.