2016-10-18 4 views
1

В моем листе есть три столбца. Я хочу сортировать другие значения на основе Point. Вот значения ячеек.Как сортировать другие строки зависит от конкретной строки в VBA?

Name  Date  Point 

Bela  3/2/12  19 
John  1/4/16  32 
Reba  9/1/10  21 
Risala 3/31/13  21 

Я хочу найти следующее. Если та же точка найдена, то она будет сортироваться по дате. Как я могу это сделать в VBA?

Name  Date  Point 

John  1/4/16  32 
Risala 3/31/13  21 
Reba  9/1/10  21 
Bela  3/2/12  19 

Здесь код расчета.

Private Sub Sum_Click() 
Dim LastRow As Long 

LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
Range("C6:C" & LastRow).Formula = "=DateDif(B6, Today(),""y"")+8" 

End Sub 
+0

Есть причина, почему вы не можете использовать встроенные функциональные возможности сортировки в Excel? – Zac

+0

начните запись макроса, выполните сортировку и остановите макрос. вы получите хороший стартовый код – user3598756

ответ

2

Поместите свои данные как показано на картинке и пройдите ниже строки кода.

enter image description here

Range("A1").Sort key1:=Range("E1"), order1:=xlDescending, key2:=Range("F1"), order2:=xlDescending, Header:=xlYes 

Range("A1").Sort key1:=Range("C1"), order1:=xlDescending, key2:=Range("B1"), order3:=xlDescending, key4:=Range("D1"), order2:=xlDescending, Header:=xlYes 
+0

Я думаю, вам нужно изменить эти '' I1 "и' "G1" адрес в соответствии с вашей структурой данных связанных изображений ... – user3598756

+0

Ох ... мой плохой .. спасибо @ user3598756 –

+0

Большое спасибо. У меня есть еще один вопрос. Здесь я могу сортировать дату, если точки одинаковы, но если есть два поля даты, как я могу это обработать? Предположим, что дата1, дата 2 и точка. Если точки совпадают, дата1 будет сортироваться. Но если точки и дата1 одинаковы, то как я могу отсортировать эту точку, зависит от date2? Можете ли вы помочь мне в этом? @AdityaPansare – tanzilamohita

Смежные вопросы