Datum aus Oracle-Abfrage als Datum formatieren
02.09.2019 11:19:29
Klexy
Ich habe einen Excel-Export aus einer Oracle-Datenbank. In diesem Export sind ein paar Datums-Spalten, die mit dem Datentyp "DATE" esportiert werden. Excel stellt diese Datume aber als String dar, wodurch sie nicht sortiert und sonstwie weiterverarbeitet werden können.
Musterdatei: https://www.herber.de/bbs/user/131780.xlsx
Die Zellen sind alle im Zahlenformat "Standard".
Um die Strings in ein Datum zu verwandeln, könnte man manuell in die Zelle doppelklicken und sie mit Enter wieder verlassen. Das ist bei tausenden Zellen nicht machbar.
Wie kann ich die entsprechenden Zellen per VBA möglichst spaltenweise als ordentliches Datum formatieren?
Ich habe bis jetzt nur die Möglichkeit entdeckt, durch alle Zellen (tausende!) einzeln durchzugehen:
Sub DatumSpalten_Formatieren()
Dim Hier As Range, GanzeSpalte As Range, GanzUnten As Long, Zelle As Range, ZahlenFormat As _
Variant
GanzUnten = ActiveSheet.UsedRange.Rows.Count
Set Hier = Range("B1")
Do While Hier ""
Hier.Select
Set GanzeSpalte = Range(Hier.Offset(1, 0), Cells(GanzUnten, Hier.Column))
GanzeSpalte.Select
For Each Zelle In GanzeSpalte
Zelle.Select
If Zelle "" Then
Zelle.Value = CDate(Zelle.Value)
End If
Next Zelle
Set Hier = Hier.Offset(0, 1) ' nächste Spalte
Loop
End Sub