Een laatste-update-timestamp per werkblad (VBA)

Geplaatst in VBA door Exhelp | Tags: , , , , , ,
Van toepassing op: Excel 2003, Excel 2007, Excel 2010, Excel 2013

Ik kreeg van avesnes de vraag of het mogelijk was om per blad in een werkmap een timestamp te maken. Het is eenvoudig om een timestamp te maken die automatisch wijzigt wanneer je je Excel-bestand opslaat, maar die gaat niet controleren in welk blad er wijzigingen werden aangebracht…

De gevonden workaround gaat als volgt: we gebruiken Worksheet_Change om te triggeren wanneer er een wijziging gebeurt in het werkblad. Wanneer er een aanpassing gebeurt, dan veranderen datum en tijdstip per blad afzonderlijk.

Private Sub Worksheet_Change(ByVal Target As Range)

'************************
'* HTTP://WWW.EXHELP.BE *
'* Some rights reserved *
'************************

Dim bereik As Range
Dim controleer As Range

With ActiveWorkbook.Sheets(1)

    Set bereik = .Range("B1:E100")
    Set controleer = Intersect(bereik, Target)

        If Not controleer Is Nothing Then

            .Range("A1") = "Laatste wijziging op"
            .Range("A2") = DateValue(Now)
            .Range("A3") = "om"
            .Range("A4") = TimeValue(Now)

        End If

End With

End Sub

Bovenstaande code voorziet een timestamp op Blad1 wanneer er een wijziging gebeurt op Blad1 binnen bereik ‘B1:E100’. Je kan dit bereik uitbreiden indien gewenst, maar zorg dat de locatie van de timestamp (nu ‘A1:A4’) zich niet in het bereik bevindt. Je zal dan in een loop terecht komen en je timestamp zal dan blijven updaten.

Je kan deze code per blad toevoegen en aanpassen waar nodig…

Bijlagen

timestamp_per_sheet
timestamp_per_sheet.xlsm (25 KB)

 

9 reacties op “Een laatste-update-timestamp per werkblad (VBA)”

  • Hallo allemaal

    Dit heb ik gelezen in computer Idee en mijn eerste gedachten waren hier kan ik eens kijken of zij mij kunnen helpen met een file op te zetten voor de Spaar vereniging waar ik penningmeester van ben.

    Het volgende is het geval.

    In Excel kan je met bladen werken maar omdat dat heel omslachtig is had ik een file waar je het op de eerste bladzijde inbracht en het weggeschreven werd op de 2 de bladzijde met voor ieder lid een eigen map.

    Wie kan mij daar bij helpen om dit te maken? Wat ik nog weet is dat er veel formules gemaakt moesten worden om de file goed te laten werken.

    Als iemand mij kan helpen dan heel graag.

    Groetjes
    Bram

    • Hallo Bert,

      Kan je me meer gegevens doorgeven;
      ik veronderstel dat je

      naam, voornaam, datum, bedrag

      gebruikt maar misschien nog meer gegevens.

      laat het me weten

      dan zal ik proberen je te helpen.

      tot later

      André

  • Hallo Bram,

    Bedankt voor je reactie. Ikzelf heb de volgende weken wegens persoonlijke redenen geen tijd om hierop te antwoorden. De kans dat je op mijn blog van iemand antwoord krijgt is voorlopig relatief klein, daar hij nog niet zó druk bezocht wordt.

    Ik raad je daarom aan om je vraag te stellen op een forum. Kijk hiervoor even op onze ‘Links’ pagina.

    G

  • Hallo,

    Vandaag hier voor het eerst, ziet erg goed uit, goed bezig.
    Heb begrepen dat je anoniem wilt blijven, ik zou wel je naam Admin aanpassen.

    Ik heb een vraag, hoop dat je mij hierbij kan helpen.

    Is het ook mogelijk om aan te geven welke gebruiker een aanpassing gedaan heeft.
    Is het ook mogelijk om aan te geven welke cel er is aangepast.

    Als dit allemaal kan volgt natuurlijk de volgende vraag:
    Is het dan ook mogelijk om alle aanpassingen zo neer te zetten op een ander tabblad met daarbij de datum, tijd, gebruiker en de aangepaste cel.
    Eens soort datalog dus.

    Ik hoor graag.

    Gr. Bert

    • Beste Bert,

      Bedankt voor je reactie. Wat jij zoekt zit ingebouwd in Excel.
      Kies in het lint ‘Controleren’, dan ‘Wijzigingen bijhouden’ en vervolgens ‘Wijzigingen markeren’.

      Daar kan je kiezen hoe en waar je de wijzigingen kan bewaren.

      Voor het resultaat dat jij wenst, duid je de volgende vakjes aan:
      * Wijzigingen bijhouden tijdens bewerken. Hierdoor deelt u tevens de werkmap.
      * Wijzigingen weergeven op een nieuw werkblad.

      Deze vraag wordt wel vaker gesteld, misschien moet ik hierover maar eens een post schrijven…

      Veel succes ermee!

      • Hallo Admin,

        Dank voor je reactie.
        Helemaal wat ik bedoel.

        Even een ander vraagje, hoe kom ik op deze side er achter dat er een reactie is op mijn vraag, kom nu er achter dorrdat ik weer op de side ben gaan kijken.

        Gr. Bert

        • Hallo Bert,

          Fijn dat je hiermee geholpen bent!
          Ik zal zo snel mogelijk uitzoeken of ik bij een nieuwe reactie een automatisch mailtje kan voorzien.

        • Hallo Bert,

          Als alles goed gelopen is heb je voor deze reactie een automatisch mailtje ontvangen.
          Voortaan zal je steeds bericht krijgen wanneer je commentaar wordt goedgekeurd en wanneer er op gereageerd wordt door iemand.

  • Hallo,

    Sorry dat ik een oude post naar boven haal.
    Maar hier hoort wel mijn vraag bij, en ik vind nergens een oplossing.

    Ik wil het volgende.

    ALS CEL A1 is aangepast, zet NU() in B1
    ALS CEL A2 is aangepast, zet NU() in B2.
    En zo verder tot onbepaalde CEL naar keuze. (hangt af van de inputs per maand)

    Ik had eerst het volgende, maar deze worden ALTIJD aangepast, eender welke cel ik aanpas.
    =ALS(A$1=”VERSTUURD”;NU();””)
    =ALS(A$2=”VERSTUURD”;NU();””)

Plaats een reactie

U moet ingelogd zijn om te reageren.

Login

Forums

Exhelp

Meest recente berichten

TAGS



Creative Commons Licentie
Op dit werk is een Creative
Commons Licentie
van toepassing.