Вам не нужен VBA для этого!
Вы можете легко преобразовать дату в желаемый формат с помощью TEXT(A1,"yyyy-mm-dd")
перед объединением.
=CONCATENATE(TEXT(A1,"yyyy-mm-dd")," ", TEXT(B1,"yyyy-mm-dd"))
но тогда у вас есть текст, а не дата / время! Это означает, что вы не можете больше рассчитывать с этой датой.
Так что я предлагаю ...
В столбце 3ʳᵈ используйте формулу =A1+B1
, а затем отформатируйте столбец 3ʳᵈ с пользовательским форматом dd-mm-yyyy hh:mm:ss;@
, как показано ниже:
Таким образом, в столбце 3ʳᵈ остается дата / время, с помощью которого можно рассчитать.
Объяснение
Так почему же простое добавление =A1+B1
работает здесь?
Даты в Excel в основном сохраняются как количество дней с 1900-01-01
(то есть день 1
). Так 2018-02-03
- это 43134ᵗʰ день с тех пор.
Время в Excel сохраняется как часть 1
день, что означает 01:03:22
это 0,04400463
из 1
день
Таким образом, если мы суммируем оба (значение даты + значение времени): 43134 + 0,0440046 = 43134,0440046
и форматируем это как дату, Excel понимает это как 2018-02-03 01:03:22
(что составляет всего 43134,0440046
дней с момента 1900-01-01 00:00:00
).