Страницы: 1
RSS
Формат даты в выделенном диапазоне VBA
 
Добрый день!
Прошу подсказать, как правильно записать код на формат даты в выделенном диапазоне (может быть любой)?
Формат должен быть всегда dd/mm/yyyy (без скрытого времени). Зачастую, у меня даты выгружаются, как в приложенном примере
Нашел такой код, формат меняется как надо, но почему-то дата меняется на текущую всегда
Код
With Selection
  .Numberformat = "dd/mm/yyyy"
  .Value = Date
End With
 
Правильно будет так:
 
Спасибо! но не подходит

Цитата
Jordan07 написал:
(без скрытого времени)

Если встать на ячейку, то в ней видно время

09.06.2018  7:54:00
 
Мне кажется, там надо вот так:
(выделить диапазон, запустить макрос)
Код
Sub T()
Dim objR As Range
For Each objR In Selection
    objR.Value = DateSerial(CInt(Left(objR, 4)), CInt(Mid(objR, 6, 2)), CInt(Mid(objR, 9, 2)))
    objR.NumberFormat = "dd.mm.yyyy"
Next
End Sub
Кому решение нужно - тот пример и рисует.
 

Пробуйте

Код
Sub FormatD()
Dim d As Range
For Each d In Selection
d = Left(d.Value, 10)
d.NumberFormat = "dd\/mm\/yyyy;@"
Next
End Sub
Изменено: Настя_Nastya - 01.08.2019 13:27:41
 
Спасибо! Оба варианта подходят)
Страницы: 1
Наверх