Excel datum vastzetten in een veld als tekst.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Anoniem: 930455

Topicstarter
Hallo,

ik wil in een bepaald veld van een werkblad in Excel de datum van het moment van aanmaak van dit werkblad zetten, en wel zodanig dat deze niet meer wijzigt als het document op een andere dag wordt geopend.

Met NOW() of TODAY() krijg ik de datum wel in dit veld, maar zodra het document een dag later wordt geopend wijzigt deze naar de huidige datum.

Het betreft hier een werkblad dat in de loop der tijd, door verschillende gebruikers, aangepast wordt. Maar in het bedoelde veld wel automatisch de aanmaak datum moet zetten. De overige gebruikers van dit werkblad moeten zich niet hoeven te bekommeren over de aanmaakdatum.

Ik gebruik Excel pro plus 2010.

Bij voorbaat mijn dank.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Atanamir
  • Registratie: December 2014
  • Laatst online: 02-05 13:18
Voor zover ik weet heeft Excel geen standaard functie om de datum waarop een werkblad wordt gemaakt weer te geven.

De datum waarop het bestand wordt gemaakt staat wel standaard in de eigenschappen, en kun je middels VBA naar een cel schrijven.

Hoe worden deze nieuwe tabbladen eigenlijk gemaakt? Als de tabbladen handmatig worden gemaakt is het natuurlijk een kleine moeite om ook even de datum in te vullen. Als de tabbladen echter via een macro worden gemaakt is het een kleine moeite om de code even te de huidige datum naar een cel weg te schrijven.

Acties:
  • 0 Henk 'm!

  • z1rconium
  • Registratie: Augustus 2014
  • Laatst online: 23-02 09:13
Ik vermoed dat je het ergens in CONCATENATE(" "& datum) moet zoeken, deze uitkomst als copy & paste value, zal je in VBA moeten doen.


Voorbeeld
code:
1
2
3
4
5
6
7
8
9
10
Sub zetdatum()
  
    Range("A20").Value = " " & Now()
    Range("A20").Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End Sub

NOW() is een formule dus die word altijd uitgevoerd, converteren naar text met een spatie ervoor is een (brakke) oplossing.

Excel is vrij hardnekkig als het over getallen/datums gaat, ironisch ;)

[ Voor 5% gewijzigd door z1rconium op 07-06-2017 12:50 ]


Acties:
  • 0 Henk 'm!

  • Atanamir
  • Registratie: December 2014
  • Laatst online: 02-05 13:18
Ondanks dat het slechts een voorbeeld is zou ik bovenstaande code niet aanraden. Cel A20 wordt overschreven, en spaties ergens voorzetten is ook geen best practice als je de cel later nog zou willen gebruiken in een formule bijvoorbeeld.

Dan liever zoiets:
Sheet1.Cells(1, 1).Value = Now
Sheet1.Cells(1, 1).NumberFormat = "dd/mm/yyyy"

Acties:
  • 0 Henk 'm!

  • DigiK-oz
  • Registratie: December 2001
  • Laatst online: 15:50
Hier staat wel het een en ander.

Onder andere, vwb creation date:
Insert created time of workbook in Excel

Step 1: Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

Step 2: Click Insert >> Module, and paste the following macro in the Module Window.


Function CreateDate() As Date
CreateDate = ActiveWorkbook.BuiltinDocumentProperties("Creation Date")
End Function

Step 3: Save and close this code, return to the worksheet,in a blank cell, enter the formula of =CreateDate(), and press the Enter key.and the created date will be inserted into the cell as following screenshots shown:

Note: If your cell is not date format, it may display a strange number. Just format this cell as Date format, it will show as a normal date.

Whatever