Рецепт

Когда Value, когда Value2, когда Text

Даты «превращаются в числа», суммы не сходятся, в коде то строка, то Date.

Text — как на экране, для расчётов непригоден. Value сохраняет Date и Currency. Value2 отдаёт даты числом и быстрее на больших блоках. Для обмена массивами берите Value2 и сами решайте формат.

Код

Sub ShowThree()
    Dim c As Range
    Set c = ThisWorkbook.Worksheets(1).Range("A1")
    Debug.Print "Text="; c.Text
    Debug.Print "Value="; c.Value
    Debug.Print "Value2="; c.Value2
End Sub

Связанные члены API