Страницы: 1
RSS
Срабатывание макроса для новых созданных листов при изменении в ячейках заданного диапазона
 
Подскажите, как сделать, чтобы для любого Листа (Sheet), даже вновь созданного, за исключением листа "DATA",  при изменении любой ячейки из диапазона "E2:E500" ,  тут же срабатывал нижеприведенный скрипт?
----------------------------------------------------------------------------------------------------------------------

Код
Sub svodka()

Dim WS As Worksheet
Dim Target As Range
Dim CellData As Range
Dim CellsVoditel As Range

Set CellData = Worksheets("DATA").Range("A2:H500")
Set CellsVoditel = ActiveSheet.Range("E2:E500")

    For Each WS In ThisWorkbook.Worksheets
      'исключаем лист с данными с именем "DATA"
       If WS.Name <> "DATA" Then
                       
                If Not Application.Intersect(ActiveCell, Range(CellsVoditel.Address)) Is Nothing Then
                       For Each cell In CellsVoditel
                            If cell.Value <> "" Then
                                    cell.Offset(0, -4).Value = Application.VLookup(cell, CellData, 2, False)
                                    cell.Offset(0, -1).Value = Application.VLookup(cell, CellData, 3, False)
                                    cell.Offset(0, 1).Value = Application.VLookup(cell, CellData, 4, False)
                                    cell.Offset(0, 2).Value = Application.VLookup(cell, CellData, 5, False)
                               Else
                                    cell.Offset(0, -4).Value = ""
                                    cell.Offset(0, -1).Value = ""
                                    cell.Offset(0, 1).Value = ""
                                    cell.Offset(0, 2).Value = ""
                            End If
                        Next cell
                End If
        End If
    Next
End Sub
 
Workbook.SheetChange event (Excel)
Страницы: 1
Наверх