Добрый день Мне надо сделать таблицу, которая сама будет сортировать целые строки по названию. Я написал макрос, который работает по этому принципу и в workbook добавил код, который должен выполнять этот макрос, когда будет изменен последний столбик(в данном случаи I), но по неизвестной причине данное действие не происходит без ошибки. Можете мне помочь найти данную ошибку или подсказать варианты данного кода? Спасибо большое за помощь
P.S. с VB к сожалению сталкиваюсь в первый раз, хотя с языками программирования C++, Matlab, Pascal знаком.
Добрый день Мне надо сделать таблицу, которая сама будет сортировать целые строки по названию. Я написал макрос, который работает по этому принципу и в workbook добавил код, который должен выполнять этот макрос, когда будет изменен последний столбик(в данном случаи I), но по неизвестной причине данное действие не происходит без ошибки. Можете мне помочь найти данную ошибку или подсказать варианты данного кода? Спасибо большое за помощь
P.S. с VB к сожалению сталкиваюсь в первый раз, хотя с языками программирования C++, Matlab, Pascal знаком.dan111107
Муть какая-то ) Отчего раздельно не работает это к светлым головам. Всё в один макрос и работает [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("I2:I" & Cells(Rows.Count, 1).End(xlUp).Row), Target) Is Nothing Then Range("A1:I" & Cells(Rows.Count, 1).End(xlUp).Row).Sort [a1], xlAscending, , , , , , xlYes End If End Sub
[/vba]
Муть какая-то ) Отчего раздельно не работает это к светлым головам. Всё в один макрос и работает [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("I2:I" & Cells(Rows.Count, 1).End(xlUp).Row), Target) Is Nothing Then Range("A1:I" & Cells(Rows.Count, 1).End(xlUp).Row).Sort [a1], xlAscending, , , , , , xlYes End If End Sub
Оттого, что не знает, где искать. А вот так знает: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim rng As Range: Set rng = [I2:I12500] If Not Intersect(rng, Target) Is Nothing Then Module3.Sort Application.EnableEvents = True End Sub
Оттого, что не знает, где искать. А вот так знает: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim rng As Range: Set rng = [I2:I12500] If Not Intersect(rng, Target) Is Nothing Then Module3.Sort Application.EnableEvents = True End Sub