PDA

Показать полную графическую версию : Exel | Как сделать автосортировку чисел в столбцах?


Мутаген
25-10-2012, 11:50
MS Office 2010, Exel

Задача простая но хитрая - имеется столбец с числами сверху вниз 10, 20,30, 40 и тд. Как настроить автосортировку что бы при добавлении снизу столбца новых чисел они сами сортировались по порядку увеличения? Например добавили снизу число 25 а оно само встало между 20 и 30...

Или хотя бы можно ли сделать так что бы вставлять числа в нужные ячейки так, что бы они сами "пододвигались" вниз?

okshef
26-10-2012, 00:19
Нажмите Alt+F11, откроется редактор VBA.
Добавьте модуль с объявлением глобальной переменной "sortic", чтобы у вас не получилось зацикливания!!!
Public sortic As Integer
Для нужного листа вставьте такой код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(Target) And Target.Row = Me.UsedRange.Rows.Count Then End
If Intersect([A:A], Target) Is Nothing Then MsgBox "Вы пытаетесь ввести число не в первом столбце": End
If sortic = 1 Then sortic = 0: End
sortic = 1
Me.Sort.SortFields.Clear
Me.Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Me.Sort
.SetRange UsedRange
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Amiranchik
26-10-2012, 00:26
okshef, Супер, полезный код а, в VBA - MS Office - Excel 2013 такой способ прокатит?

okshef
26-10-2012, 00:37
Да, новых функций в коде нет.

Amiranchik
26-10-2012, 00:50
okshef, спасибо за ответ.




© OSzone.net 2001-2012