Доброго времени форумчане! Помогите с макросом, суть обновить ячейку, при условии текущей даты, на примере: в строке 1 расположены даты, нужно обновить (скопировать ячейки из J2 в область J3:J18) в столбце, только с текущей датой 10.11.16. Пытался записать макроредактрором, но не получилось(
Доброго времени форумчане! Помогите с макросом, суть обновить ячейку, при условии текущей даты, на примере: в строке 1 расположены даты, нужно обновить (скопировать ячейки из J2 в область J3:J18) в столбце, только с текущей датой 10.11.16. Пытался записать макроредактрором, но не получилось(adamm1603
Private Sub Workbook_Open() For Each c In Sheets("Лист1").[a1:k1] If CDate(c) = Date Then c.Offset(1, 0).Copy 'Копируем ячейку на одну строку ниже заголовка Range(c.Offset(2, 0), c.Offset(17, 0)).PasteSpecial xlPasteFormulas 'Вставляем данные в ячейки 2-17строк ниже заголовка Exit For End If Next End Sub
[/vba] макрос при срабатывает при открытии файла. Смотрит данные в 1-й строке и если находит сегодняшнюю дату - копирует формулу.
так пойдет?: [vba]
Код
Private Sub Workbook_Open() For Each c In Sheets("Лист1").[a1:k1] If CDate(c) = Date Then c.Offset(1, 0).Copy 'Копируем ячейку на одну строку ниже заголовка Range(c.Offset(2, 0), c.Offset(17, 0)).PasteSpecial xlPasteFormulas 'Вставляем данные в ячейки 2-17строк ниже заголовка Exit For End If Next End Sub
[/vba] макрос при срабатывает при открытии файла. Смотрит данные в 1-й строке и если находит сегодняшнюю дату - копирует формулу.SLAVICK
Private Sub Workbook_Open() For Each c In Sheets("Лист1").[a1:k1] If CDate(c) = Date Then c.Offset(1, 0).Copy 'Копируем ячейку на одну строку ниже заголовка With Range(c.Offset(2, 0), c.Offset(17, 0)) .PasteSpecial xlPasteFormulas 'Вставляем данные в ячейки 2-17строк ниже заголовка Calculate .Copy: .PasteSpecial xlPasteValues End With Exit For End If Next End Sub
[/vba]
Можно так: [vba]
Код
Private Sub Workbook_Open() For Each c In Sheets("Лист1").[a1:k1] If CDate(c) = Date Then c.Offset(1, 0).Copy 'Копируем ячейку на одну строку ниже заголовка With Range(c.Offset(2, 0), c.Offset(17, 0)) .PasteSpecial xlPasteFormulas 'Вставляем данные в ячейки 2-17строк ниже заголовка Calculate .Copy: .PasteSpecial xlPasteValues End With Exit For End If Next End Sub