Avatar billede htx98i17 Professor
14. september 2001 - 11:45 Der er 19 kommentarer og
1 løsning

Automatisk dato i skabelon

Hvis jeg vil lave en skabelon i excel, hva skal den så gemmes som?

jeg vil lave det sådan at en dato automatisk bliver sat, men kun i skabelonen. Dvs at hvis jeg åbner arket (som engang er lavet ud fra skabelonen) en anden dag så skal datoen ikke ændres, men vise den dato det var da den blev opettet. (det er til en faktura)

2 spm i et. 60 point for et svar.
Avatar billede Slettet bruger
14. september 2001 - 12:01 #1
En excel skabeloner hedder .xlt. Vælg GemSom med filtypen skabeloner.
Mht. dato\'en ved jeg ikke om der en \"SAVEDATE\"-funktion i excl. det er der i Word.
\\\\AMH
Avatar billede lrp Nybegynder
14. september 2001 - 12:04 #2
Jeg antager, at du bruger Excel 2000.
I VBA-editoren laver du i kodearket \"ThisWorkbook\" en makro, der ser ud som følger:

Sub Workbook_Open()
    If Range(\"Ark1!a1\") = \"\" Then
        Range(\"Ark1!a1\").Value = Date
    End If
End Sub

Bemærk, at den SKAL hedde Workbook_Open. Den vil da blive kørt, hver gang projektmappen åbnes. I dette tilfælde vil datoen blive sat i Ark1 i celle A1. Dette kan naturligvis ændres efter behov. Står der i forvejen noget i cellen, sker der ikke noget - datoen vil altså ikke blive overskrevet.

En skabelon i Excel skal gemmes som en xlt-fil (xlt = Excel Template).
Avatar billede htx98i17 Professor
14. september 2001 - 12:09 #3
lrp -> hvor finder jeg vba editoren?
Avatar billede htx98i17 Professor
14. september 2001 - 12:09 #4
og jeg bruger office XP...
Avatar billede htx98i17 Professor
14. september 2001 - 12:13 #5
jeg tror sq jeg fandt det selv :)
Avatar billede htx98i17 Professor
14. september 2001 - 12:17 #6
nu har jeg oprettet en makro der hedder Workbook_Open og indsat din kode, men den bliver ikke kørt når jeg åbner templaten og når jeg prøver manuelt så kommer den med fejl i   
If Range(\"Ark1!g6\") = \"\" Then
Avatar billede lrp Nybegynder
14. september 2001 - 12:18 #7
I Excel 2000 findes den i hvert fald under Funktioner, Makro. Den kan også kaldes frem med ALT + F11.

Du skal i øvrigt lige huske, at der IKKE må stå en dato, når du gemmer din Excel-skabelon. Makroen fungerer jo kun under forudsætning af, at der ikke i forvejen står en dato, når den åbnes.
Avatar billede lrp Nybegynder
14. september 2001 - 12:19 #8
Er du sikker på, at du har et regneark (faneblad), der hedder \"Ark1\"?
Avatar billede htx98i17 Professor
14. september 2001 - 12:20 #9
der står ik noget deri når jeg åbner den

og den siger at der er en fejl i \"range\"
Avatar billede htx98i17 Professor
14. september 2001 - 12:20 #10
hehe nej, mit er engelsk, ændrer det lige til Sheet1
Avatar billede htx98i17 Professor
14. september 2001 - 12:24 #11
der sker stadig ik noget når jeg åbner dokumentet, men når jeg kører det manuelt virker det...
Avatar billede lrp Nybegynder
14. september 2001 - 12:28 #12
Kontroller, at du har lavet makroen i det kodeark, der hedder \"ThisWorkbook\". Det vil KUN virke ved opstart, hvis makroen befinder sig i dette ark.
Avatar billede htx98i17 Professor
14. september 2001 - 12:37 #13
jeg synes jeg har tjekket det...

har du icq, for så kan jeg sende dig det
Avatar billede lrp Nybegynder
14. september 2001 - 12:38 #14
Du kan sende det til: brevkassen@hotmail.com, så kigger jeg på det.
Avatar billede htx98i17 Professor
14. september 2001 - 12:41 #15
er gjort...
Avatar billede lsimony Nybegynder
14. september 2001 - 12:42 #16
Hvis du vælger lrp løsning.

Da kan du også prøve at kalde macroen som nedestående og placer den i et modul:

sub auto_open()
    If Range(\"Sheet1!a1\") = \"\" Then
        Range(\"Sheet1!a1\").Value = Date
    End If
End Sub



Avatar billede lsimony Nybegynder
14. september 2001 - 12:43 #17
Det virker! ;-)
Avatar billede lrp Nybegynder
14. september 2001 - 13:03 #18
htx98i17 >> Jeg har sendt filen retur til dig. Makroen lå ikke i ThisWorkbook, men i Module1. Jeg har flyttet den, og nu virker det i hvert fald hos mig. Jeg har valgt et alm. datoformat i den celle i fakturaen, hvor datoen skal stå - det format du havde i forvejen virkede ikke.

Isimony >> Du har ret i, at din løsning virker - men den er et levn fra tidligere Excel-versioner. Programmeringsmæssigt er det mest korrekte at lægge makroen i ThisWorkbook.
Avatar billede htx98i17 Professor
14. september 2001 - 13:03 #19
nu virker det som lrp foreslog :)
Avatar billede lrp Nybegynder
14. september 2001 - 13:05 #20
Takker for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester