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

Datum format wijzigen van YYYY-MM-DD naar YYYY-MM-DDTHH:MM:SS

Status
Niet open voor verdere reacties.

mause01

Gebruiker
Lid geworden
19 okt 2012
Berichten
75
Heren,

Ik heb het volgende gemaakt wat perfect werkt op YYYY-MM-DD.
Maar dit wil ik ook gebruiken voor YYYY-MM-DDTHH:MM:SS.
Ik loop vast met Cdate ik wil daar Cdate & Time hebben.

In de cell geeft deze het correcte format weer maar ik krijg toch een fout door mijn code.
Dit door dat ik niet de tijd heb gedefinieerd.

CODE:
Code:
    Set rng = Range("Z7:Z" & lMax)
    If Not Application.Intersect(Target, rng) Is Nothing Then
        For Each aCell In rng
            If aCell.Value <> "" Then
                If CellContentCanBeInterpretedAsADate(aCell) Then
                    cvalue = Format(CDate(aCell.Value), "YYYY-MM-DDTHH:MM:SS")
                    aCell.Value = CStr(cvalue)
                Else
                    aCell.Interior.ColorIndex = 3
                    MsgBox "Incorrect date in cell " & aCell.Address
                End If
            End If
        Next
    End If

Function:
Code:
Function CellContentCanBeInterpretedAsADate(cell As Range) As Boolean
    Dim d As Date
    On Error Resume Next
    d = CDate(cell.Value)
    If Err.Number <> 0 Then
        CellContentCanBeInterpretedAsADate = False
    Else
        CellContentCanBeInterpretedAsADate = True
    End If
    On Error GoTo 0
End Function

Bekijk bijlage Sync_Salto_V2.1.0 MvO.rar
 
Laatst bewerkt:
Code:
[SIZE=1]Option Explicit

Public Function CellContentCanBeInterpretedAsADate(rngRange As Range) As Boolean
    Dim avntRange As Variant
    On Error Resume Next
    CellContentCanBeInterpretedAsADate = False
    avntRange = Split(rngRange.Value, "T")
    CellContentCanBeInterpretedAsADate = IsDate(avntRange(0)) And IsDate(avntRange(1))
End Function[/SIZE]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan