私はデータセット(n)を持っていますが、エクセルが認識しないDD.MM.YYYY形式の日付で約1500項目の長さが入ります。私の目標は、それを優れたものに変えることです。これが私のやり方です。日付変換ループを最適化する
Function date_to_excel()
Call public_dims
Dim date_i As String
date_array = ThisWorkbook.Sheets("Spread").Range(Cells(7, 5), Cells(7 + n, 5))
For i = 0 To n
date_i = ThisWorkbook.Sheets("Spread").Cells(7 + i, 5)
If date_i <> "" Then
date_array = Split(date_i, ".")
date_i = date_array(1) & "/" & date_array(0) & "/" & date_array(2)
ThisWorkbook.Sheets("Spread").Cells(7 + i, 5) = date_i
End If
Next
End Function
この機能は正常に機能しますが、実際にはかなり時間がかかります。 私がコミュニティに求めているのは、このループを最適化する方法に関するアイデアです。日付を配列全体に追加してみてみましたが、それを見ても、日付形式(date_i =行の終わり近く)を変更する方法とは互換性がないようです。
おそらく、単に「置換」を行うことができます。 '.'を見つけ、'/'で置き換えます。 –
セルを「カスタム」としてフォーマットし、カスタムフォーマットを「dd.mm.yyyy」と設定すると、Excelはセル内の値を日付 – Zac
@ Zacとして認識しません。動作していない –