Страницы: 1
RSS
VBA: Смена столбца с датами на столбец с текстовыми значеними дат в ноужном формате
 
Добрый день!
Мне посмотянно требуется заменять даты на нужный формат формулой TEXT (A1;"ГГГГ-ММ-ДД")

Может есть возможноть через VBA заменить в столбце все значения с датами на текст в описанном выше формате?
 
Alekuz
Код
format([a1],"yyyy-mm-dd")
 
skais675, Сработало, а как это сделать для всего выделенного диапазона ?
 
Выделяем все что нужно и запускаем макрос:
Код
Sub t()
    Selection.NumberFormat = "yyyy-mm-dd"
End Sub
 
Alekuz

Код
Selection.NumberFormat = "@"
For Each cc In Selection
     cc.value = Format(cc, "yyyy-mm-dd")
Next
Код
columns(1).NumberFormat = "@"
for i = 1 to cells(rows.count,"A").end(xlup).row
     cells(i,"A").value=format(cells(i,"A"),"yyyy-mm-dd")
next
Изменено: skais675 - 15.07.2019 16:56:31
 
правой кнопкой мыши, формат ячеек, (все форматы), в поле Тип - гггг-ММ-дд
 
Цитата
GRIM написал:
Выделяем все что нужно и запускаем макрос:
Это меняет формат. А мне нужно тект вписать вместо даты.  
 
skais675, первый макрос сработал идеально, но очень долго для больших массивов.
Может подскажете для таких случаев, как сделать кастом формулу для TEXT (A1;"ГГГГ-ММ-ДД"), чтобы можено было подставлять вместо А1 что угодно ?
 
Alekuz Почитайте про ДВССЫЛ. Или Возможно Вам нужна UDF?
Чтоб работало быстрее можно использовать массивы, мы же не знаем всех Ваших нюансов.
Изменено: skais675 - 15.07.2019 21:11:26
 
Добрый день!
Как сделать так, чтобы код ниже пропускал бланки?
Код
Selection.NumberFormat = "@"
For Each cc In Selection
     cc.Value = Format(cc, "yyyy-mm-dd")
Next
Страницы: 1
Наверх