• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

ISO Datum

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
337
Hallo Cracks,

iemand die me met volgend probleem kan helpen?
een datum is eenvoudig in een cel in te brengen door ctrl + ;
er bestaan een aantal standaardformaten waaronder de datum kan weergegeven worden
maar... kan er me iemand helpen met een eenvoudige formule of formaat waardoor de dayum onder het formaat 12w26d2 kan weergeven worden?
dit lukt me wel al door gebruik te maken van andere cellen waar ik eerst de datum in een gewoon formaat plaats, daar dan het week nummer uit filter in nog een andere cel en dan pas deze ISO datum genereer.
maar nu zou ik de datum graag meteen onder dit formaat gezien hebben zodra in ee cel ctrl + ;

alvast bedankt
 
Kun je hier iets mee?

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = "" Then Exit Sub
    Jaartal = Year(ActiveCell - Weekday(ActiveCell - 1) + 4)
    Dag = ActiveCell - DateSerial(Jaartal, 1, 5) + Weekday(DateSerial(Jaartal, 1, 3))
ActiveCell = Right(Year(ActiveCell), 2) & "w" & Int((Dag + 7) / 7) & "d" & Day(ActiveCell)
End Sub
 
Laatst bewerkt:
Dag Cobbe,

bedankt voor je snel antwoord. jammer genoeg werkt het maar deels. nu werkt het in elke cel maar dus ook als je een andere willekeurige cel aanklikt en eigenlijk zou dit enkel mogen in een cel waar een datum in staat. en ook het formaat is niet juist. ik krijg bijvoorbeeld als resultaat 12w26d26 terwijl dit d2 zou moeten zijn
 
In mijn code is het bereik niet afgebakend, dat is gemakkelijk te doen.
Waarom d2 en niet d26 is voor mij een raadsel, vandaag = 12w26d26 of niet?
 
Dag Cobbe,

12 staat voor het jaar
w staat voor week; dus deze week 26
en d staat voor day; vandaag dus dag 2 (van deze week =week 26, niet dag 26 van de maand)
 
Hallo SNB ook,

interssante site van je en bedankt voor je bijdrage aan mijn oplossing ook. echter als ik het goed begrijp moet ik hier ook werken met waarden te halen uit verschillende cellen. dit is me al gelukt (dankzij dit forum ook) in een ander document, maar in het document waarin ik nu bezig ben kan ik dat jammer genoeg niet doen. ik zou graag met een formule in een bepaalde cel (of cellen) willen werken of met een code
 
Code:
Sub snb_datum()
   x3 = Format(Date, "yy\w") & Format(Date - Weekday(Date) + 4, "ww\d",2,2) & Weekday(Date, 2)
End Sub
 
Laatst bewerkt:
Ja dat kan ook natuurlijk:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If intersect(target,Range("A:A")) is nothing then exit sub
If Target = "" Then Exit Sub
    Jaartal = Year(ActiveCell - Weekday(ActiveCell - 1) + 4)
    Dag = ActiveCell - DateSerial(Jaartal, 1, 5) + Weekday(DateSerial(Jaartal, 1, 3))
ActiveCell = Right(Year(ActiveCell), 2) & "w" & Int((Dag + 7) / 7) & "d" & WorksheetFunction.Weekday(ActiveCell, 2)
End Sub

Nu heb je nog een bereikafbakening geldend voor kolom A.
 
Laatst bewerkt:
SNB, ik denk dat ik een deel van je code mis, geraak er niet uit met jouw oplossing.

Heb wel wat zitten spelen met de code van Cobbe en op deze manier lukt het voorlopig wel:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Or Not IsDate(Target) Then Exit Sub
    Jaartal = Year(Target - Weekday(Target - 1) + 4)
    Dag = Target - DateSerial(Jaartal, 1, 5) + Weekday(DateSerial(Jaartal, 1, 3))
Target = Right(Year(Target), 2) & "w" & Int((Dag + 7) / 7) & "d" & WorksheetFunction.Weekday(Target, 2)

End Sub

probleem dat ik nu nog hiermee heb is wat foutmeldingen als ik bijvoorbeeld meerdere cellen selecteer of kopieer of plak
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan