Dato opdateres automatisk på den simple måde

Et klassisk scenarie med et Excel regneark, som du anvender på enten daglig basis eller ugebasis, kan få ekstra funktionalitet og give flere muligheder, hvis du har en celle, der automatisk opdaterer sig med dato for hvorfor regnearket senest har været gemt.

Hvorfor er det relevant? Jo, hvis du har en fakturaskabelon, hvor du ikke ønsker at indsætte dato manuelt, kan det være rart at Excel arbejder for dig. Du tænker måske allerede, at ved at bruge

=idag()

kan du få Excel til automatisk at indsætte dato. Det har du fuldstændig ret i, men problemet er bare, at hvis du på et senere tidspunkt åbner fakturaen, vil datoen blive ændret. Det giver en større sandsynlighed for at lave fejl (gemme filen, sende den til en kunde eller printe den ud), hvor de nye dato bliver ændret. Det vil resultere i, at dit regnskab ikke passer på datoen, hvis du gemmer fakturaer i råfil.

Automatisk dato ved hjælp af VBA og simpel funktion

Løsningen er at bruge VBA og en simpel funktion. Se med her hvordan du bruger det i praksis.

Under programkode (ALT+F11) vælger du Module under Insert i menuen. Du skriver

Function SidstGemt() As Date
SidstGemt = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
End Function

og lukker vinduet. Derefter skriver du i den celle, hvor du ønsker dato indsat

=SidstGemt()

Dato er nu blevet endnu mere smart

Herefter vil cellen altid have korrekt dato. Hver gang du gemmer filen bliver cellen opdateret. Dette er mere genialt end at anvende Excels indbygget funktion =idag(), der altid viser dags dato.

Som altid med makroer i Excel skal filen gemmes som xlsm-fil (også kaldet Excel-projektmappe med aktive makroer):

Excel filtype

Vælger du ikke præcis denne type, vil du blive introduceret for nedenstående dialogboks, der fortæller dig, at din VBA-kode vil blive fjernet. Og det ønsker vi ikke, vel? 🙂

VBA dialogboks

Tagged with:

Skriv et svar