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

Amerikaans datum formaat converteren naar Europees

Status
Niet open voor verdere reacties.
Exporteer je dat van de website of download je daar dat document? Wat er gebeurt is overigens correct en komt, zoals al eerder genoemd, omdat die datum niet is voorzien van de eeuw informatie. Excel weet dan niet dat het gaat om een Amerikaans datum formaat en interpreteert deze als een Europese datum. Dat komt dan weer omdat Windows op je PC als standaard de NL datum notatie gebruikt.

Dit zet het voor je om:
Code:
Sub AdateToEdate()
    Dim sDate As String
    Dim LastRow As Long
    
    Dim i As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
    End With
    
    For i = 1 To LastRow
        If IsDate(Cells(i, 2)) Then
            sDate = Format(Cells(i, 2), "DD-MM-YYYY")
            Cells(i, 2) = DateValue(Right(sDate, 2) & "-" & Format(Cells(i, 2), "MM") & "-20" & Left(sDate, 2))
        End If
    Next
End Sub
 
Laatst bewerkt:
Exporteer je dat van de website of download je daar dat document? Wat er gebeurt is overigens correct en komt, zoals al eerder genoemd, omdat die datum niet is voorzien van de eeuw informatie. Excel weet dan niet dat het gaat om een Amerikaans datum formaat en interpreteert deze als een Europese datum. Dat komt dan weer omdat Windows op je PC als standaard de NL datum notatie gebruikt.

Dit zet het voor je om:
Code:
Sub AdateToEdate()
    Dim sDate As String
    Dim LastRow As Long
    
    Dim i As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
    End With
    
    For i = 1 To LastRow
        If IsDate(Cells(i, 2)) Then
            sDate = Format(Cells(i, 2), "DD-MM-YYYY")
            Cells(i, 2) = DateValue(Right(sDate, 2) & "-" & Format(Cells(i, 2), "MM") & "-20" & Left(sDate, 2))
        End If
    Next
End Sub

U bent geweldig!!
 
logies dat mijn macro niet werkt in jouw bestand
in het vorige bestand stonden de datums in kolom A
in dit bestand in kolom B probeer deze eens:
Code:
Sub test()
    Dim Datums As Range, R As Range
    Set Datums = Range("B3:B" & Cells(Cells.Rows.Count, 1).End(xlUp).Row)
    On Error Resume Next
    For Each R In Datums
        If R <> "" Then
            R = DateSerial(Day(R) + 2000, Month(R), Year(R) - 2000)
        End If
    Next
    On Error GoTo -1
End Sub
 
Kun je mij een lol doen en dat bestand vanaf Cisco als html-bestand opslaan en hier plaatsen ?

Code:
Sub M_snb()
    For Each it In ActiveSheet.Columns(2).SpecialCells(2)
        If IsDate(it) Then it = DateSerial(2000 + Left(it, 2), Mid(it, 4, 2), Right(it, 2))
    Next
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan