#excel #vba
Вопрос:
Мне нужно изменить даты с помощью VBA. Формат, который у меня есть m/d/yyyy
, (3/4/2021) или mm/dd/yyyy
(03/04/2021). Excel распознает значения как дату.
Мне нужно преобразовать их в формат yyyymmdd
. Нет возможности использовать Формат ячейки->Пользовательский.
Кроме того, в датах должна быть указана дата-1.
Я начал писать код, но столкнулся с некоторыми проблемами, и я не знаю, как двигаться дальше с этим.
Sub paydate()
Dim i as byte
Dim j as date
Dim k as string
i = 4
Do while cells(1,4)<>""
j = cells(i,4).value
cells(i,4).value=j-1
j=cells(i,4)
Loop
End sub
Подводя итог, я создал цикл для изменения даты на дату-1, но я не знаю, как преобразовать ее в формат yyyymmdd
.
Любая помощь будет оценена по достоинству.
Комментарии:
1. Вам не хватает
Loop
, чтобы закрыть свойDo While
2. Если вы действительно хотите написать значение, которое не является датой:
cells(i,4).Value = Format(j-1,"yyyymmdd")
.3. @BigBen Это, наверное, то, что я ищу 🙂 Спасибо
4. @BigBen, не могли бы вы это объяснить?
5. @Gass, может быть, попробуешь документы .