Давайте поясним, что в электронной таблице Excel тип данных «дата» сам по себе отсутствует.Подход Excel к датам заключается в сохранении целого числа, которое вы можете выбрать для форматирования даты.Так, например, 43467 - это целое число, представляющее 2 января 2019 года. (А десятичная часть представляет время в течение этого дня, поэтому 43467,333 .. представляет 2 января 2019 года в 8:00 утра.)
Попробуйте ввести дату,затем щелкните правой кнопкой мыши> «Форматировать ячейки», чтобы отформатировать эту ячейку как число, чтобы увидеть, о чем я говорю.
Таким же образом вы можете заставить Excel отображать эту ячейку в формате даты, который выхотите использовать тот же метод: выберите ячейку> щелкните правой кнопкой мыши> «Форматировать ячейки», выберите «Пользовательский» и введите произвольный формат, например, dd.mm.yyyy.
Как только вы увидите, что это работает, оставшаяся задача состоит в том, чтобы просто выполнить то же самое действие из VBA, которое будет с оператором вроде:
Range ("B1"). NumberFormat = "dd.mm.yyyy "
... как указано другими.
Теперь, если ваша первоначальная попытка заставить Excel отформатировать ячейку даты как число не удалась (она сохраняет свою датупоявление), тогда дата, которую вы видите в ячейке, фактически сохраняется как строка и не будет функционировать как дата (например, для арифметики даты).Поэтому вам нужно решить, как поступить - возможно, преобразовать эти строки в «даты» (т. Е. В числа, отформатированные как даты).