• 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.

Tekst omzetten naar Datum

Status
Niet open voor verdere reacties.

rikik

Gebruiker
Lid geworden
14 feb 2017
Berichten
125
Hey Hey :)

Ik ben gloednieuw op dit forum, maar ik zie dat er zeer veel leuke mensen corresponderen :)

Ik zit momenteel met een probleem.
Ik heb onderstaande data in een excel kolom en zou deze moeten omzetten naar datums waarbij ik kan rekenen.
Zoals je kan zien is de opmaak niet volledig identiek.

Oct 5 2011 1:57 PM
Dec 8 2011 10:29 AM
Jan 26 2012 11:03 AM
Jan 31 2012 2:21 PM
Feb 7 2012 11:14 AM

Weet er iemand hoe ik dit kan omzetten?

Dankje :thumb::thumb::)
 
via 'tekst naar kolom' krijg je een keurige scheiding tussen 'maand' 'dag' 'jaar' 'tijd'
Zit je alleen nog met met de naam van de maand om zetten naar een getal.
Dit zou via een tabelletje en verticaal zoeken kunnen.

Daarna kan alles weer gecombineerd worden.
Dit zou denk ik ook wel via VBA kunnen maar daar moet dan iemand anders naar kijken
 
Met een stukje VBA is het inderdaad simpel. Zet het volgende in een module:
Code:
Function NAARDATUM(Target As Range) As Date
    Dim Waarde() As String
    
    Waarde = Split(Target.Value)
    NAARDATUM = Format(DateValue(Waarde(1) & "-" & Maand(Waarde(0)) & "-" & Waarde(2)) & " " & TimeValue(Waarde(3) & " " & Waarde(4)), "DD-MM-YYYY HH:MM")
    ActiveCell.NumberFormat = "m/d/yyyy h:mm"
End Function

Function Maand(Naam As String) As String
    Select Case LCase(Naam)
        Case "jan": Maand = 1
        Case "feb": Maand = 2
        Case "mar": Maand = 3
        Case "apr": Maand = 4
        Case "may": Maand = 5
        Case "jun": Maand = 6
        Case "jul": Maand = 7
        Case "aug": Maand = 8
        Case "sep": Maand = 9
        Case "oct": Maand = 10
        Case "nov": Maand = 11
        Case "dec": Maand = 12
    End Select
End Function

Aanroep:
=NAARDATUM(A1)
 
Laatst bewerkt:
Jammer de bammer... Ik dacht 'm ultra kort op te lossen....
Code:
Function DatumTijdTekst2Nr(sInput As String)
    
    DatumTijdTekst2Nr = DateValue(Format(sInput, "@@@@\/@@\/@@@@\"))

End Function
Maar helaas blijkt die toch hierin óók nog z'n nek te breken over de Mar en Oct (de maanden die in het Engels anders worden afgekort dan in Nederland). Het toevoegen van iets van een landcode in de string kreeg ik niet werkend. Maar goed, ik vond 'm grappig genoeg om 'm toch met jullie te delen... ;)
 
Ik heb nog een formuletje.
Code:
=MAX(ALS.FOUT(1*SUBSTITUEREN(RECHTS(A2;LENGTE(A2)-4);" ";" "&LINKS(SUBSTITUEREN(A2;{"ar"\"ay"\"Oc"};{"rt"\"ei"\"Ok"});4);1);0))
 

Bijlagen

Laatst bewerkt:
Mooie constructie. Doet het wel maar gaat hier fout op die Oct 5 2011 1:57 PM

Edit:
In jouw document doet 'ie het wel goed.
Vreemd.
 
Laatst bewerkt:
Werkt hier prima Ed.
Ik heb het bestand er even opnieuw opgezet met die dag.

Edit, je hebt je bericht aangepast.
 
Laatst bewerkt:
@Ginger,
Code:
Function DatumTijdTekst2Nr(sInput As String) As Date
    
    DatumTijdTekst2Nr = CDate(Replace(Replace(Replace(sInput, "Oc", "Ok"), "ar", "rt"), "ay", "ei"))


End Function
 
Laatst bewerkt:
Niet omdat het moet maar omdat het kan nog een formule:
Code:
=DATUM(DEEL(A1;VIND.SPEC(" ";A1;5)+1;4);VERGELIJKEN(LINKS(A1;3);{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0);DEEL(A1;VIND.SPEC(" ";A1);3))+TIJDWAARDE(RECHTS(A1;8))
Celeigenschappen nog even aanpassen en voilà: omgezet.
 

Bijlagen

Laatst bewerkt:
@HSV, tnx! Mooie oplossing zo. Toch snap ik niet dat je Excel niet kan "vertellen" via een landcode oid dat je bezig bent met een Engelstalige datum waarmee die bijvoorbeeld direct al de dagen van de week en de maandnamen kan herkennen.
 
@Leo,

Er moet een komma geplaatst worden achter de dag.
Code:
Sub hsv()
MsgBox Application.Text(Application.Substitute([a1], " ", ", ", 2), "[$-413] dd-mmmm-yyyy h:mm")
End Sub

..maar dan is het nog wel tekst in deze.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan