Добрый день!
Мне необходимо написать макрос, который отсортировывает умную таблицу по возрастанию каждый раз, когда в нее добавляются новые данные. Т.е. под умной таблицей пишу данные, нажимаю enter, эти данные автоматически становятся новой строчкой умной таблицы (это то, что и так по умолчанию excel делает) и затем – как раз то, что необходимо написать мне – обновленная таблица сортируется.
Здесь на форуме в одной из тем я нашла код для подобной задачи, с той лишь разницей, что код написан для диапазона. И сколько не пытаюсь – у меня пока не получается переписать этот код так, чтобы он работал для умной таблицы. Ниже код, о котором идет речь:
Мне необходимо написать макрос, который отсортировывает умную таблицу по возрастанию каждый раз, когда в нее добавляются новые данные. Т.е. под умной таблицей пишу данные, нажимаю enter, эти данные автоматически становятся новой строчкой умной таблицы (это то, что и так по умолчанию excel делает) и затем – как раз то, что необходимо написать мне – обновленная таблица сортируется.
Здесь на форуме в одной из тем я нашла код для подобной задачи, с той лишь разницей, что код написан для диапазона. И сколько не пытаюсь – у меня пока не получается переписать этот код так, чтобы он работал для умной таблицы. Ниже код, о котором идет речь:
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)If Not Intersect(Target, Columns(2)) Is Nothing Then On Error Resume Next Application.ScreenUpdating = False Application.EnableEvents = False With Me.Sort .SortFields.Clear .SortFields.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End If Application.EnableEvents = True Application.ScreenUpdating = True End Sub |
Прикрепила книгу Excel с наглядным примером, что мне необходимо сделать
Буду благодарна за помощь!