Один из вариантов - найти интервал между начальной и конечной точкой.Помните, что даты Excel, которые на самом деле являются датами, а не строками, на самом деле являются целыми числами.Второе, что нужно помнить, это время - это десятичная часть, представляющая часть дня.Проверьте, является ли ваша дата (при условии, что она указана в A1) фактической датой или строкой с
=ISNUMBER(A1)
Если это возвращается TRUE
, вам не нужно беспокоиться о преобразовании даты.Если он возвращается FALSE
, это фактически строка, которую нужно будет преобразовать в Excel для работы с ней.
Разделите этот интервал на 30 минут или 30/60/24 и добавьте 1. Этоскажет вам, сколько итераций вам понадобится, которые вы можете поместить в цикл For
Start_Number = Range("A1")
End_number = Range(("A2")
Stamp = Start_Number
Interval_number = End_Number - Start_Number
Counter = integer of (Interval_number / (30/60/24))
For x = 1 to counter
write Stamp to cell
Stamp = Stamp + 30/60/24
Next x
В качестве альтернативы вы можете настроить цикл while.
Do While datetime < Stop_Point
Write datetime to cell
Datetime=datetime + 30/60/24
Loop
Обратите внимание, не фактический код, но дает представление, где OP не знал, с чего начать.