• 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.

Datum laatste wijziging

Status
Niet open voor verdere reacties.

nesta1983

Gebruiker
Lid geworden
14 mei 2013
Berichten
55
Om even terug te komen op deze topic http://www.helpmij.nl/forum/showthread.php/543451-automatische-datum-plaatsen-in-exel?highlight=datum+aanpassing
Bij het afsluiten van de excel sheet gaat er iets fout (blijft hangen in een "loop").

Hier de excel sheet Bekijk bijlage Italiaanse gebied.xlsm


Mijn bedoeling is om in de cel A1 in blad "TOTAALOVERZICHT" de datum van de laatste aanpassing te krijgen én niet de datum waarop het bestand geopend/bekeken is!

Kan iemand mij aub verderhelpen?
Is de code verkeerd opgesteld/aangepast (ifv de oorspronkelijke code in bovenvermelde topic)?

Gr

Nesta1983
 
Laatst bewerkt:
Je kunt de datum van laatste opslag daar denk ik wel voor gebruiken. Die haal je op met:
ThisWorkbook.BuiltinDocumentProperties("Last Save Time")

Dus:
Code:
Worksheets("TOTAALOVERZICHT").[M1] = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
 
Laatst bewerkt:
Je kunt de datum van laatste opslag daar denk ik wel voor gebruiken. Die haal je op met:
ThisWorkbook.BuiltinDocumentProperties("Last Save Time")

Bedankt. Maar waar zou ik dit moeten plakken?? Ik ben een leek op dat gebied :(
 
In het andere topic wordt uitgegaan van Excel 2003. Ik weet niet of daar het probleem m.b.t. hangen zitten.

M.i. zou je alleen de volgende code moeten plaatsen in "ThisWorkbook". Hiermee wordt de datum ingevuld voor opslaan van het document:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Worksheets("TOTAALOVERZICHT").[A1] = Now
End Sub
 
Laatst bewerkt:
In m'n vorige reactie heb ik zojuist je document met de aanpassing geplaatst.

UDF = User Defined Function en die zitten in het VBA project van je document.
Omdat daar al dingen in stonden ging ik er vanuit dat je dat wist.
 
In het andere topic wordt uitgegaan van Excel 2003. Ik weet niet of daar het probleem m.b.t. hangen zitten.

M.i. zou je alleen de volgende code moeten plaatsen in "ThisWorkbook":
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Worksheets("TOTAALOVERZICHT").[A1] = Now
End Sub

Bedankt. Maar...
Als ik deze code gebruik, dan wordt de datum weergegeven waarop het werd bekeken. Ook al wijzig ik niets aan het blad, wordt de datum overschreven. Wat niet de bedoeling is. ENKEL van moment dat er iets wordt gewijzigd moet de datum weergegeven worden. Snap je?
 
In m'n vorige reactie heb ik zojuist je document met de aanpassing geplaatst.

UDF = User Defined Function en die zitten in het VBA project van je document.
Omdat daar al dingen in stonden ging ik er vanuit dat je dat wist.

Bedankt. Maar zelfde uitleg als voor Peter B

Als ik deze code gebruik, dan wordt de datum weergegeven waarop het werd bekeken. Ook al wijzig ik niets aan het blad, wordt de datum overschreven. Wat niet de bedoeling is. ENKEL van moment dat er iets wordt gewijzigd moet de datum weergegeven worden. Snap je?
 
Dat heeft als oorzaak dat dit erin staat:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets("TOTAALOVERZICHT").[M1] = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
    ActiveWorkbook.Save
End Sub

Je kunt dan beter het voorbeeld van PeterB gebruiken.
En deze moet er dan uit:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("TOTAALOVERZICHT").[M1] = Now
End Sub

Bij deze:
Bekijk bijlage Italiaanse gebied.xlsm
 
Laatst bewerkt:
Je kunt dan beter het voorbeeld van PeterB gebruiken.
[/CODE]

Ik heb het voorbeeld van PeterB gebruikt. Maar ik krijg nog altijd de datum waarop de sheet het laatst werd bekeken, en NIET wanneer die het laatst (effectief) werd BEWERKT. Hoe kan ik dat verhelpen?

Momenteel is dit de situatie:
van het moment dat ik op OPSLAAN klik, wordt de datum overschreven! Maar, zoals ik daarnet al schreef, de datum moet enkel overschreven worden als ik iets AANPAS/BEWERK in de sheet.
 
Laatst bewerkt:
Zie mijn vorige (aangevulde) reactie.
 
Oeps! Ik heb er per ongeluk A1 in gezet waar het M1 moet zijn. Dat moet je dus nog even aanpassen.
 
Plaats je document dan nog eens, want dan heb je toch iets gemist.
 
Dat document is goed en toont alleen de datum van laatste opslag. Als je dus het document opent om hem alleen te bekijken en daarna niet opslaat wordt die datum/tijd niet aangepast.
 
Ok dat is duidelijk. Maar kan de code niet aangepast worden zodat, ook al wordt er op "opslaan" gedrukt EN de sheet niet werd aangepast, de datum NIET wordt aangepast?
 
Laatst bewerkt:
Voor zover ik weet niet.
 
Volgens mij moet dit zo werken:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If Not ThisWorkbook.Saved Then Worksheets("TOTAALOVERZICHT").[A1] = Now
End Sub

Als je echter aanpassingen doet, en deze vervolgens weer ongedaan maakt werkt dit niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan