• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

opslaan met naam de datum

Status
Niet open voor verdere reacties.

maaipi

Nieuwe gebruiker
Lid geworden
11 jul 2005
Berichten
4
Wie kan mij helpen, ik zoek 'n macro die de huidige datum als naam geeft als ik mijn excel bestand opsla.
bij voorbaat dank
groet Maapi
 
Ik gebruik daarvoor:

Code:
    Dim MyDate, MyFile, MyPath
    MyPath = ActiveWorkbook.Path
    MyDate = Format(Date, "yyyymmdd")
    MyFile = MyPath + "\" + MyDate + ".xls"
    ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False

MyPath zorgt ervoor dat het bestand in dezelfde map komt als het origineel.
 
Hoi Palmpje,
Bedankt voor die macro maar....... ik krijg het niet werkend als ik opsla slaat hij het gewoon onder dezelfde naam op en niet op naam van de huidige datum. Doe ik iets verkeerd of klopt de macro niet.
:(
 
Wel even in een subje zetten, zo bv.

Sub Opslaan()
Dim MyDate, MyFile, MyPath
MyPath = ActiveWorkbook.Path
MyDate = Format(Date, "yyyymmdd")
MyFile = MyPath + "\" + MyDate + ".xls"
ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

En deze macro vervangt niet de normale manier van opslaan en werkt ook niet uit zich zelf (zo als hij nu is), je moet dus actief deze macro starten om het bestand met de datum als naam op te slaan.
Je kan de macro echter ook zo maken dat hij het bestand automatisch probeerd op te slaan als je het excel blad wilt sluiten...
 
Laatst bewerkt:
De macro draait beide bedankt, maar Withaar heb jij 'n macro die het zelde doet bij afsluiten of nog beter bij opslaan.
groeten Maaipi:thumb:
 
Ik wilde geen complete macro plaatsen maar alleen een fragment. Bij mij zit dit stukje in de referesh van de gegevens ophalen van een website waarin dan vervolgens automatisch het bestand met de datum van vandaag wordt opgeslagen.

Volgens mij kun je OnSave o.i.d. events afvangen in Excel en dan je eigen code uitvoeren. Heb ik nog nooit gedaan.
 
Duurde even opdat ik tegen wat problemen aan liep en het even duurde voordat ik door had waar door dat kwam.

Svp. Lees goed mijn commentaar door.


Plakken in ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim MyDate, MyFile, MyPath
ChDir "C:\"
On Error GoTo verder: 'Als de map al bestaat gewoon verder gaan.
MkDir "Excel backups" 'Maak map op de C-schijf aan als die er nog niet is
verder:
MyPath = "C:\Excel backups"

' Opslaan met datum en tijd (zal altijd uniek zijn).

MyDate = Format(Date, "yyyymmdd") & "-" & Format(Time, "hhmmss")

' Opslaan met alleen de datum, als een file op dezelfde dag 2x geopend en gesloten
' word zal de eerste save verloren gaan!
' Als de backup file op de zelfde dag geopend wordt zonder de
' macro's uit te zetten loopt excel vast omdat er getracht wordt een file weg
' te schrijven met een naam die het zelfde is al de file die op dat moment geopend is.
' Voorkeur gaat dus uit naar de versie met de time stamp er bij.

' MyDate = Format(Date, "yyyymmdd")

MyFile = MyPath + "\" + MyDate + ".xls"
ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
 

Bijlagen

Helemaal tof werkt perfect, hartstikke bedankt
groeten maaipi:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan