Oracle データベースからキャプチャされた .csv ファイルがあります。.csv ファイルの日付は、Oracle の内部形式です (私は Oracle に詳しくないので、それが何と呼ばれているかはわかりません)。のように見えます16474
DBへのアクセスに使用するアプリでその日付を見ると、日付は2/6/2013
です。
ただし、.csv ファイルを Excel にインポートし、列を短い日付として書式設定すると、日付が次のように表示されます。2/6/1945
ランダム サンプリングを行ったところ、月/日は常に正しいように見えますが、年は 68 年ずれています。これは、Oracle の「時間の始まり」が Excel の「時間の始まり」とは異なるためであると想定しています。
OracleデータをExcelにインポートするときに日付が正しく表示されるようにこれを修正する方法はありますか?
Oracle側には何もアクセスできません..csvファイルとExcelだけです。また、それが役立つ場合は、最終的に Excel ファイルを Access にインポートしています。
これまでのところ、Excel で Oracle の日付を Short Date として書式設定し、日付列 (J) の横に列を挿入して、次を使用しました。
=DATE(YEAR(J1)+68,MONTH(J1),DAY(J1))
うるう年を考慮して、それが100%正確かどうかはわかりません
編集:このコードでできると思います:
Public Sub ReplaceData()
Dim RangeCell As Range
For Each RangeCell In Selection
If IsNumeric(RangeCell.Value) Then
lngDate = CLng(RangeCell.Value)
RangeCell.Value = DateAdd("d", lngDate - 1, "1/1/1968")
End If
Next RangeCell
End Sub