Вопрос по VBA #306323


#0 by mad1982
Есть лист экселя. Все значения ячеек там начинаются с апострофа - '. Имеются ячейки с датами. С апострофом формат Дата на эти ячайки не распространяется, а надо.. Вот таким скриптом пробегаю по нужным ячейкам == Sub EditCells    Apostrophe = "'"        For Each Cell In Selection.Cells            If Cell.PrefixCharacter = Apostrophe Then             Cell.Value = Right(Cell.Value, Len(Cell.Value))            End If         Next Cell End Sub == Апостроф удаляется, но формат Дата ячейки все равно не распространяется. Если ручками зайти в ячейку и нажать Enter то.. вуаля! формат подтягивается и дата форматиться как дата )) Кто подскажет как в VBA типа Touch'а сделать? Или может по другому как -нить апостроф удалять? Заранее спасибо!
#1 by PaulBC
может cell.NumberFormat = "dd/mm/yy;@" ?
#2 by mad1982
Формат то назначается, но ячейка не форматируется. Пока enter туда не "зайдешь".
#3 by mad1982
походу надо придумать как эмулировать нажатие enter'а.. записал макроса выдает ActiveCell.FormulaR1C1 = "и какой-нить там текст"
#4 by mad1982
Может надо будет кому-будь.. ) Sub MyCells    Dim iTarget As Range    Dim Cell As Object    Apostrophe = "'"    Set iTarget = Selection.Cells        For Each Cell In iTarget            If Cell.PrefixCharacter = Apostrophe Then             Cell.Value = Right(Cell.Value, Len(Cell.Value))             Cell.Value = CDate(Cell.Value)            End If           Next Cell                  With iTarget            .NumberFormat = "m/d/yyyy"        End With    End With End Sub
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С