Можно ли настроить (возможно, с помощью сценариев) Excel на автоматическое приближение таблицы при каждом обновлении записи?
1 ответ
0
Быстрый Google дал мне это:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Worksheets(1).Range("E9:F32"), Target) Is Nothing) Then
DoSort
End If
End Sub
Private Sub DoSort()
Worksheets(3).Range("E3:M7").Sort Key1:=Worksheets(3).Range("M3"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L3"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E10:M14").Sort Key1:=Worksheets(3).Range("M10"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L10"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E17:M21").Sort Key1:=Worksheets(3).Range("M17"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L17"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E24:M28").Sort Key1:=Worksheets(3).Range("M24"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L24"), Order2:=xlDescending, Header:=xlYes
End Sub
Я не очень разбираюсь в VBA, но я постараюсь объяснить, как это настроить, если мне это не удастся, дайте мне знать. ;)
С первым подпрограммой вы определяете, когда сработает функция. В строке выше указано, что DoSort запускается, когда что-либо на листе 1 в ячейках E9-F32 изменяется.
DoSort сортирует некоторые диапазоны и может быть адаптирован к вашим собственным диапазонам данных. Просто удалите ненужные строки и измените номера листа и диапазоны данных.