Страницы: 1
RSS
Применить макросы ко всем листам
 
Знаю, что такие темы есть, коды из них пыталась применить, но они не работают. Данный код работает только на 1 листе, помогите сделать так, чтобы он работал на всех листах.



Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
For Each cell In Target
 If Not Intersect(cell, Range("A2:E4")) Is Nothing Then
    With Cells(cell.Row, 6)
    .Value = Now
    .EntireColumn.AutoFit
    End With
    With Cells(cell.Row, 7)
    .Value = Application.UserName
    .EntireColumn.AutoFit
    End With
  End If
Next cell
Application.EnableEvents = True


End Sub
 
Как самый простой вариант : повторить код в модуле каждого листа.
Кому решение нужно - тот пример и рисует.
 
Цитата
написал:
Как самый простой вариант : повторить код в модуле каждого листа.
и как я не додумалась до этого.. :D .. . Спасибо большое!))
 
Ещё вариант, в модуле листа оставить только вызов. А сам макрос поместить в стандартный модуль.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    myWorksheet_Change Target
End Sub

'Это в стандартный модуль.
Sub myWorksheet_Change(ByVal Target As Range)
Dim cell As Range
Application.EnableEvents = False
For Each cell In Target
 If Not Intersect(cell, Range("A2:E4")) Is Nothing Then
    With Cells(cell.Row, 6)
    .Value = Now
    .EntireColumn.AutoFit
    End With
    With Cells(cell.Row, 7)
    .Value = Application.UserName
    .EntireColumn.AutoFit
    End With
  End If
Next cell
Application.EnableEvents = True

End Sub
А если листов очень много, то посмотрите, как писать макросы макросами.
Programming In The VBA Editor (cpearson.com)
 
Цитата
МатросНаЗебре: А если листов очень много, то посмотрите, как писать макросы макросами.
или просто написать один макрос для события книги Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Всем спасибо, Работает!!!)
 
Цитата
Jack Famous написал:
или просто написать один макрос для события книги Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Забираем в копилочку )
Страницы: 1
Наверх