Avatar billede rigtigebuko Nybegynder
11. september 2006 - 10:33 Der er 27 kommentarer og
2 løsninger

Indsæt dags dato uden opdatering

Hej NGer

Jeg sidder med en faktura hvor jeg på fakturadato har brugt =IDAG()
Det virker jo perfekt, mit problem er nu - Hvordan fastlåser jeg dags dato???

Hvis jeg senere skal ind og finde en faktura til en kunde, der fx har smidt sin faktura væk - Er det jo træls den opdaterer datoen istedet for at huske på den dato, hvor fakturaen blev udskrevet.

På forhånd tak for hjælpen
Heidi ;)
Avatar billede excelent Ekspert
11. september 2006 - 10:41 #1
fx. højreklik/copy
højreklik/paste speciel/værdi
(både copy og paste i samme celle, hvor dato er, så forsvinder formlen)
Avatar billede lorentsnv Nybegynder
11. september 2006 - 10:41 #2
Ctrl + ; giver dato.
Avatar billede x-lars Novice
11. september 2006 - 10:42 #3
Her skal datoen stå i C7 - ellers må du lige rette til:

    Range("C7").Select
        ActiveCell.FormulaR1C1 = "=NOW()"

'  Sæt format på opdateringstidspunktet
    Range("c7").Select
    Selection.NumberFormat = "dd/mm/yyyy hh:mm"
   
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
   
    Range("C7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Avatar billede lorentsnv Nybegynder
11. september 2006 - 10:42 #4
Insert the current date and time in a cell
Insert a static date or time

Current date    Select a cell and press CTRL+;
Current time    Select a cell and press CTRL+SHIFT+;

Current date and time    Select a cell and press CTRL+; then SPACE then CTRL+SHIFT+;

Insert a date or time whose value is updated

Use the TODAY and NOW functions to do this task.

Worksheet example
The example may be easier to understand if you copy it to a blank worksheet.

How?

Create a blank workbook or worksheet.
Select the example in the Help topic. Do not select the row or column headers.


Selecting an example from Help

Press CTRL+C.
In the worksheet, select cell A1, and press CTRL+V.
To switch between viewing the results and viewing the formulas that return the results, press CTRL+` (grave accent), or on the Tools menu, point to Formula Auditing, and then click Formula Auditing Mode.
 
1
2
3
A B
Formula Description (Result)
=TODAY() Current date (varies)
=NOW() Current date and time (varies)


Note  The NOW() and TODAY() functions change only when the worksheet is calculated or when a macro that contains the function is run. They are not updated continuously. The date and time used are taken from the computer's system clock.
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 11:02 #5
Hej X-lars
Hvis nu jeg retter dit kinesisk til følgende - mon så også det virker???

    Range("L17").Select
        ActiveCell.FormulaR1C1 = "=IDAG()"

'  Sæt format på opdateringstidspunktet
    Range("L17").Select
    Selection.NumberFormat = "dd-mm-åååå"
   
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
   
    Range("L17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Avatar billede mrjh Novice
11. september 2006 - 11:04 #6
Smide lige den ind til sidst og så spiller det.

Application.CutCopyMode = False
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 11:05 #7
Hmmm... Skal lige have noget på det rene... Skal det kinesiske sættes ind som det står her:


    Range("L17").Select
        ActiveCell.FormulaR1C1 = "=IDAG()"

'  Sæt format på opdateringstidspunktet
    Range("L17").Select
    Selection.NumberFormat = "dd-mm-åååå"
   
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
   
    Range("L17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Eller skal der noget sub og end sub på og skal det bare sættes ind i ThisWorkBook?
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 11:07 #8
Så den ser sådan ud???


    Range("L17").Select
        ActiveCell.FormulaR1C1 = "=IDAG()"

'  Sæt format på opdateringstidspunktet
    Range("L17").Select
    Selection.NumberFormat = "dd-mm-åååå"
   
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
   
    Range("L17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False, Application.CutCopyMode:=False
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 11:17 #9
Sådan ser det ud nu og uden rød skrift - håber det virker :)


Range("L17").Select
        ActiveCell.FormulaR1C1 = "=IDAG()"

'  Sæt format på opdateringstidspunktet
    Range("L17").Select
    Selection.NumberFormat = "dd-mm-åååå"
   
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
   
    Range("L17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
Avatar billede mrjh Novice
11. september 2006 - 11:20 #10
Du kan indsætte koden så den eksekveres når du åbner dit regneark.
Kopier koden ind under Thisworkbook modulet

Private Sub Workbook_Open()
Worksheets("Ark1").Range("C7").Select
        ActiveCell.FormulaR1C1 = "=NOW()"
'  Sæt format på opdateringstidspunktet
    Range("c7").Select
    Selection.NumberFormat = "dd/mm/yyyy" 
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy 
    Range("C7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
Avatar billede mrjh Novice
11. september 2006 - 11:21 #11
Ark1 skal evt. rettes til det du har navngivet dit ark med.
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 11:26 #12
Yes!!! Perfekt :)

Hvis x-lars og mrjh smider nogle svar, så smider jeg rundt med nogle point :)
Avatar billede mrjh Novice
11. september 2006 - 11:35 #13
Ok, men hovedparten til x-lars som er kommet med koden
Avatar billede x-lars Novice
11. september 2006 - 12:07 #14
Kommer her! Tak for assistance til mrjh, som sprang ind, mens jeg var til frokost!
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 12:52 #15
Hmmm... Inden jeg fordeler point.... Kunne I måske fortælle mig hvorfor der kommer en fejl når jeg beskytter mit ark???
Fejlen lyder:

Run-time error: '1004':
Kan ikke angive NumberFormat for klassen Range.
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 12:56 #16
Fandt selv fejlen... Jeg havde sat datoformatering på L17. Da jeg satte den til standard formattering forsvandt min fejl....

1000 tak for ubeskrivelig god hjælp :)
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 12:57 #17
Næææ, det var ikke det... Har i nogle forslag???
Avatar billede mrjh Novice
11. september 2006 - 13:03 #18
I starten af koden
Worksheets("ark3").Unprotect
Og i slutningen af koden
Worksheets("ark3").Protect
Avatar billede x-lars Novice
11. september 2006 - 13:04 #19
Enig...Det burde kunne løse problemet.
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 13:10 #20
Øh hvad... hvorfor ark3???
Mit ark3 hedder "Tabel"
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 13:11 #21
Hmmm.... Måske du mener at jeg selv skal erstatte "ark3"
Og mit hedder jo "Faktura"

Hæ hæ :)
Avatar billede x-lars Novice
11. september 2006 - 13:12 #22
Prøv i stedet med følgende....

    ActiveSheet.Unprotect

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 13:18 #23
Så ender det hele med at se således ud:

Private Sub Workbook_Open()
ActiveSheet.Unprotect
Worksheets("Faktura").Range("L17").Select
        ActiveCell.FormulaR1C1 = "=NOW()"
'  Sæt format på opdateringstidspunktet
    Range("L17").Select
    Selection.NumberFormat = "dd/mm/yyyy"
'  Fjern formlen, så kun opdateringstidspunktet står tilbage
    Selection.Copy
    Range("L17").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Endnu engang tak for jeres hjælp ;)
Avatar billede mrjh Novice
11. september 2006 - 13:23 #24
Selvtak §:o)
Avatar billede bak Forsker
11. september 2006 - 14:22 #25
Lidt kortere

Private Sub Workbook_Open()
  With Worksheets("Faktura")
      .Protect userinterfaceonly:=True
      .Range("L17") = Date
  End With
End Sub
Avatar billede bak Forsker
11. september 2006 - 14:26 #26
Sorry, du skal lige have en sikring ind således at hvis der i forvejen står en dato må den ikke overskrives

Private Sub Workbook_Open()
  With Worksheets("Faktura")
      If .Range("L17") = "" Then
        .Protect userinterfaceonly:=True
        .Range("L17") = Date
      End If
  End With
End Sub
Avatar billede bak Forsker
11. september 2006 - 15:57 #27
PS. jeg kan ikke helt forstå at du kan få koden fra 11/09-2006 13:18:52 til at fungere korrekt.

Som jeg ser det, vil den da opdatere (overskrive) datoen når fakturaen åbnes næste dag (hver gang den åbnes). Det må da betyde at du er lige vidt. du er nødt til at chekke om der allerede står noget i cellen inden.
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 21:24 #28
Hey bak....
Hmmm... Det lyder ikke godt.... Jeg checker min faktura og vender tilbage imorgen...
Avatar billede rigtigebuko Nybegynder
11. september 2006 - 21:29 #29
Kan allerede nu se du har ret bak....
Når jeg åbner en gemt faktura ændre den faktisk på klokkeslættet - også ændre den vel også dato, hvis jeg åbner imorgen...

Men hvordan får jeg så det til at virke???

Jeg opretter mit spørgsmål igen som:
Indsæt dags dato uden opdatering2
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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