Private Sub Workbook_Open() With Sheets("стат-ка звонки") For Each cl In .Range(.Cells(2, 2), .Cells(2, 2).End(xlToRight)) If cl < Date Then .Range(cl.Address).Offset(5).Resize(9).Value = .Range(cl.Address).Offset(5).Resize(9).Value .Range(cl.Address).Offset(20).Resize(6).Value = .Range(cl.Address).Offset(20).Resize(6).Value End If Next If cl = Date Then .Range(cl.Address).Offset(3).Resize(1).Value = .Range(cl.Address).Offset(3).Resize(1).Value .Range(cl.Address).Offset(18).Resize(1).Value = .Range(cl.Address).Offset(18).Resize(1).Value End If Next End With End Sub
[/vba]
правильно я сделал?
[vba]
Code
Private Sub Workbook_Open() With Sheets("стат-ка звонки") For Each cl In .Range(.Cells(2, 2), .Cells(2, 2).End(xlToRight)) If cl < Date Then .Range(cl.Address).Offset(5).Resize(9).Value = .Range(cl.Address).Offset(5).Resize(9).Value .Range(cl.Address).Offset(20).Resize(6).Value = .Range(cl.Address).Offset(20).Resize(6).Value End If Next If cl = Date Then .Range(cl.Address).Offset(3).Resize(1).Value = .Range(cl.Address).Offset(3).Resize(1).Value .Range(cl.Address).Offset(18).Resize(1).Value = .Range(cl.Address).Offset(18).Resize(1).Value End If Next End With End Sub
строчки 5 и 22 должны менять формулу на число в начале каждого дня. то есть при открытии файла ячейка с формулой за текущую дату меняется на число
там два вида формул. есть старая которую убиваем завтра, есть эта, которую нужно убить сегодня с утра. то есть в той ячейке, где дата с формулой совпадает с сегодняшней
Quote (паша000)
строчки 5 и 22 должны менять формулу на число в начале каждого дня. то есть при открытии файла ячейка с формулой за текущую дату меняется на число
там два вида формул. есть старая которую убиваем завтра, есть эта, которую нужно убить сегодня с утра. то есть в той ячейке, где дата с формулой совпадает с сегодняшнейпаша000
паша000, еще раз объясняю (последний) Если, допустим, в К2 стоит сегодняшняя дата, а СЕГОДНЯ вы этот файл по какой-либо причине не открывали, то ЗАВТРА вы формулу в К5 уже не убъете! Поэтому условие должно быть <=.
.Resize(1) - лишнее.
паша000, еще раз объясняю (последний) Если, допустим, в К2 стоит сегодняшняя дата, а СЕГОДНЯ вы этот файл по какой-либо причине не открывали, то ЗАВТРА вы формулу в К5 уже не убъете! Поэтому условие должно быть <=.
Помогите пожалуйста написать такой макрос при котором в выделенной зоне преобразовывались все значения в текст а формулы удалялись . Я где то на форуме давно видел тему по моему вопросу но теперь не могу найти [moder]Тема закрыта. Причина: нарушение п.п. 3, 4, 5q Правил форума[/moder]
Помогите пожалуйста написать такой макрос при котором в выделенной зоне преобразовывались все значения в текст а формулы удалялись . Я где то на форуме давно видел тему по моему вопросу но теперь не могу найти [moder]Тема закрыта. Причина: нарушение п.п. 3, 4, 5q Правил форума[/moder]Volosyankin