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

Status
Niet open voor verdere reacties.

TinekeBerg

Gebruiker
Lid geworden
17 jan 2017
Berichten
15
Uit een export bestand wordt de datum in mijn excel bestand getoond als 9122016, dit wil ik importeren in een ander pakket.
maar die kan dit niet als datum lezen, ik zou het dus graag omzetten naar 09-12-2016, maar heb geen idee hoe ik dit kan doen.
ik heb al geprobeerd met celeigenschappen, maar dan veranderd die niks, ik denk dat het komt omdat er geen scheidingsteken in de datum zit.

Ik hoop dat iemand me kan helpen.

Alvast bedankt
 
In cel A1 je "datum" dan in cel B1 deze formule...
=TEXT(A1;"00\/00\/0000")

Voorwaarde is wel dat er een 8 cijferige waarde wordt gebruikt. Dus jouw voorbeeld zou vóór het importeren 09122016 moeten zijn. Zet dat veld tijdens het importeren dus op Tekst opmaak.
 
9122016 is gewoon een getal en geen datum. Als dat in dezelfde kolom een datum moet worden kan dat met een stukje VBA wel worden gedaan. Als je een voorbeeld documentje plaatst wordt dat hier wel voor je gedaan. Met een formule kan het alleen in een andere kolom.
 
Het kan bv. met.
Code:
=--TEKST(A1;"##\/##\/####")

cel-eigenschap op datum.
Maar dan moeten de eerste negen maanden wel met een voorloop nul opgemaakt zijn.

5062017 = 5-6-2017
9032017 = 9-3-2017

en niet: 932017
 
voorbeeld bestand

dit is een voorbeeld van het bestand zoals ik het aangeleverd krijg.
het is niet mogelijk om de datum aan te passen in een 8 getal notatie.
Is het dan wel mogelijk om dit d.m.v. vba te doen?
 

Bijlagen

Het gaat om kolom H?
 
Zet dit in de VBA sectie en voer het dan uit:
Code:
Sub ConversieNaarDatum()
    Dim lr As Long
    Dim i As Long
    Dim nr1 As String
    Dim nr2 As String
    
    With Sheets("Cabman 2")
        lr = .Cells(.Rows.Count, "H").End(xlUp).Row
    End With
    
    For i = 1 To lr
        nr1 = Cells(i, 8)
        nr2 = Cells(i, 19)
        If Len(nr1) = 7 Then nr1 = "0" & nr1
        If Len(nr2) = 7 Then nr2 = "0" & nr2
        
        If Len(nr1) > 0 And Not IsDate(Cells(i, 8)) Then
            nr1 = Left(nr1, 2) & "-" & Mid(nr1, 3, 2) & "-" & Right(nr1, 4)
            Cells(i, 8) = DateValue(nr1)
            nr1 = ""
        End If
        
        If Len(nr2) > 0 And Not IsDate(Cells(i, 19)) Then
            nr2 = Left(nr2, 2) & "-" & Mid(nr2, 3, 2) & "-" & Right(nr2, 4)
            If Len(nr2) > 0 Then Cells(i, 19) = DateValue(nr2)
            nr2 = ""
        End If
    Next i
End Sub
 
dit is een voorbeeld van het bestand zoals ik het aangeleverd krijg
Lijkt me persoonlijk vreemd dat een programma een Excel-bestand aanlevert. Meestal zal dit .txt of .csv zijn als interface (dump). Bij een .txt kan je direct de Wizard van Excel gebruiken. Een .csv moet je even in de Verkenner aanpassen naar .txt omdat Excel er anders zelf automatisch mee aan de haal gaat en zelf aannames gaat doen wat voor veld er ingeladen moet worden. Wat is dus de extensie van je interface-bestand?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan