Я пытаюсь написать макрос для автоматической сортировки таблицы в Excel при изменении любого значения в таблице.
Это мой код VBAКак запустить макрос Excel VBA непрерывно?
Sub Macro3(ByVal target As Range)
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table4").sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table4").sort.SortFields.Add _
Key:=Range("Table4[Pts]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table4").sort.SortFields.Add _
Key:=Range("Table4[GD]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table4").sort.SortFields.Add _
Key:=Range("Table4[GF]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").ListObjects("Table4").sort
.Header = xlYes
.MatchCase = True
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sub sort()
Dim target As Range
Set target = Range("Table4")
Call Macro3(target)
End Sub
Что я должен сделать, чтобы этот макрос работает непрерывно каждый раз значение в изменении таблицы?
Считаете ли вы это? Разве пользователь не будет сбивать с толку, если диаграмма будет сортироваться во время редактирования? Что будет с их текущей ячейкой? Они нажимают вкладку, поэтому ячейка изменилась. Это означает, что список отсортирован. Что вы будете делать с выбором? – Ben
Ячейка изменяется из-за формул в других ячейках, ключевой момент таблицы - это сортировка, когда значения ячеек изменяются. – Mohamad