Я объявляю массив дат следующим образом:
Dim date_array() as Date
Его цель - сохранить даты, найденные в диапазоне.
Dim date_range As String
Я объявляю это как строку, потому что у меня есть форма ввода, где пользователь указывает диапазон дат (например, A1: A5).
Затем я вычисляю, сколько ячеек вдиапазон и указать размер date_array.
ReDim date_array(Range(date_range).Cells.count)
Пока все хорошо. Затем я перебираю каждый элемент date_array и добавляю дату из диапазона.
Dim i As Long
i = 0
For Each r In ThisWorkbook.Worksheets("Name").Range(date_range)
date_array(i) = r.Value
i + i + 1
Next r
Однако, когда я делаю MsgBox (date_array (i)) во время этого цикла, я получаю значение 12:0000:00 вместо даты, которую я хочу (например, 2/2/2019), которая говорит мне, что что-то теряется в переводе.
Я получу правильный результат, если сделаю MsgBox (r.Value) ... так что похоже на то, что я назначаю дату массиву неправильно.
Имееткто-нибудь сталкивался с такой проблемой раньше? Как я могу это исправить?
Большая цель состоит в том, чтобы отобразить данные между двумя файлами с использованием даты + соглашения об именовании в качестве проверки, поэтому мне нужен массив для хранения правильной даты в формате даты, чтобы ее можно былопо сравнению с другим значением ячейки позже.
Спасибо,