Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then With Range("H" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then With Range("A" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
[/vba]
Мне нужно подправить макрос так, чтоб в действии 1 новая дата не только добавлялась (обновлялась) в строчке (Н), где происходят изменения (I5:M1000), но и в конкретном месте "Н5" то же самое и по второму действию... там нужно, чтоб дата еще обновлялась и в "А5". Ломаю голову. Сразу скажу... я мягко говоря в этом плохо соображаю. Этот то макрос пол-дня с помощью Интернета создавал.
Есть макрос... два действия... [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then With Range("H" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then With Range("A" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
[/vba]
Мне нужно подправить макрос так, чтоб в действии 1 новая дата не только добавлялась (обновлялась) в строчке (Н), где происходят изменения (I5:M1000), но и в конкретном месте "Н5" то же самое и по второму действию... там нужно, чтоб дата еще обновлялась и в "А5". Ломаю голову. Сразу скажу... я мягко говоря в этом плохо соображаю. Этот то макрос пол-дня с помощью Интернета создавал. Demon68
Сообщение отредактировал Demon68 - Среда, 21.08.2013, 08:58
Demon68, дайте своей теме более содержательное название. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then [H5]=Now With Range("H" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then [A5]=Now With Range("A" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
[/vba]
Demon68, дайте своей теме более содержательное название. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("I5:M1000")) Is Nothing Then [H5]=Now With Range("H" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("B5:F1000")) Is Nothing Then [A5]=Now With Range("A" & cell.Row) .Value = Now .EntireColumn.AutoFit End With End If Next cell End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("I5:M" & Rows.Count)) Is Nothing Then Range("A5 , H5") = Now For i = Target.Row To Target.Row + Target.Rows.Count - 1 Union(Range("A" & i), Range("H" & i)) = Now Next Range(Columns(1), Columns(8)).AutoFit End If End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("I5:M" & Rows.Count)) Is Nothing Then Range("A5 , H5") = Now For i = Target.Row To Target.Row + Target.Rows.Count - 1 Union(Range("A" & i), Range("H" & i)) = Now Next Range(Columns(1), Columns(8)).AutoFit End If End Sub
Спасибо большое! Макрос Формуляра оказался полностью... надеюсь... рабочий. А вот с макросом Ran небольшая заминка. Изменяется дата в строках "А5", "Н" и "Н5", а в "А" дата при исправлении в ячейке не меняется..
Спасибо большое! Макрос Формуляра оказался полностью... надеюсь... рабочий. А вот с макросом Ran небольшая заминка. Изменяется дата в строках "А5", "Н" и "Н5", а в "А" дата при исправлении в ячейке не меняется..Demon68