Добрый вечер, господа.
Такой проблем у меня. Не могу понять почему этот макрос срабатывает при изменении на всем листе, а не в прописанном в коде диапазоне (A9:A10000).
В итоге при любом изменении на листе срабатывает макрос.
Предварительно большое спасибо за помощь!
Такой проблем у меня. Не могу понять почему этот макрос срабатывает при изменении на всем листе, а не в прописанном в коде диапазоне (A9:A10000).
В итоге при любом изменении на листе срабатывает макрос.
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A9:A10000"), Target) Is Nothing Then del_space ' - тут все нормально, этот код никак не воздействует End If If Not Intersect(Target, Columns(1)) Is Nothing Then Dim arrA(), I&, J&, splitA On Error Resume Next arrA = Range("A9:A" & Cells(Rows.Count, "A").End(xlUp).Row).Value With CreateObject("Scripting.Dictionary") For I = 1 To UBound(arrA) splitA = Split(arrA(I, 1)) For J = 0 To UBound(splitA) If Not IsEmpty(splitA(J)) Then iTemp = .Item(splitA(J)) End If Next Next Application.EnableEvents = False Application.ScreenUpdating = False Range("B9:C9").Resize(UBound(.Keys) + 1) = Application.Transpose(.Keys) End With With Me.Sort .SortFields.Add Key:=Range("B:C"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .Apply End With End If Application.EnableEvents = True Application.ScreenUpdating = True End Sub |
Предварительно большое спасибо за помощь!