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

Opgelost Tekst naar datum omzetten

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
159
Ik heb de volgende code gevonden deze zet de tekst om naar een datum dat doet hij vanaf regel 10 in kolom 1 nu probeer ik hem aan te passen dat hij
cel B4 ook mee omzet. Maar krijg het niet voor elkaar. Weet iemand de oplossing?

Code:
Sub ConvertToDate()

Dim r As Range
Dim setdate As Range

'starting from 10nd row, 1st column
Set setdate = Range(Cells(10, 1), Cells(10, 1).End(xlDown))

    With setdate
        .NumberFormat = "dd-mm-yyyy" 'I have the data in format "dd.mm.yy"
        .Value = .Value
    End With

    For Each r In setdate
        r.Value = CDate(r.Value)
    Next r

End Sub

Heb geprobeerd

Code:
Set setdate = Range(4, 2) & Range(Cells(10, 1), Cells(10, 1).End(xlDown))

Maar dan krijg ik fout 1004 methode range van object _ global is mislukt.
 

Bijlagen

Heb je wel het goede bestandje als bijlage toegevoegd?
 
Jawel hoor, in het bijgevoegd bestand is de datum ook als tekst weer gegeven en moet hij ook aangepast worden
 
Probeer dit eens:
Code:
Sub ConvertToDate()
    Cells(2, 4) = CDate(Cells(2, 4))
    For i = 10 To Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        With Cells(i, 1)
            .NumberFormat = "DD-MM-YYYY"
            .Value = CDate(Cells(i, 1))
        End With
    Next i
End Sub
 
Edmoor,

Dankjewel, heb nog wat aangepast zodat het helemaal naar mijn zin is. Alleen heb ik dan nog 1 (klein) ding hij zou het moeten toepassen op alle tabbladen in het werkboek. Heb het volgende geprobeerd maar dan doet hij alsnog maar het actieve werkblad. Heb je hier misschien nog een oplossing voor?

Code:
Sub ConvertToDate()
 
   For Each sh In Sheets
 
 
   With Cells(4, 2)
             .NumberFormat = "DD-MM-YYYY"
             .Value = CDate(Cells(4, 2))
     End With
                    
    For i = 10 To Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        With Cells(i, 1)
            .NumberFormat = "DD-MM-YYYY"
            .Value = CDate(Cells(i, 1))
        End With
    Next i
    
    Next sh

End Sub
 
Dat zou zo moeten kunnen:
Code:
Sub ConvertToDate()
   For Each sh In Sheets
       With sh.Cells(4, 2)
             .NumberFormat = "DD-MM-YYYY"
             .Value = CDate(sh.Cells(4, 2))
        End With
                    
        For i = 10 To sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
            With sh.Cells(i, 1)
                .NumberFormat = "DD-MM-YYYY"
                .Value = CDate(sh.Cells(i, 1))
            End With
        Next i
    Next sh
End Sub
 
Kan ook zonder lus,
Code:
Sub ConvertToDate()
   For Each sh In Sheets
        With sh.Cells(4, 2)
             .NumberFormat = "DD-MM-YYYY"
             .Value = CDate(sh.Cells(4, 2))
        End With
                    
      With sh.Range("a10", sh.Cells(Rows.Count, 1).End(3))
        .TextToColumns Range("a10"), 1, , , , , , , , 1, Array(1, 4), , , -1
        .NumberFormat = "dd-mm-yyyy"
      End With
    Next sh
End Sub
 
Beste Hsv,

Dankjewel nog voor jouw code, deze werkt ook feiloos. Mag ik vragen waar alle komma's voor zijn?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan