2016-10-18 61 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

非常感謝。我有另一個問題。在這裏,如果點數相同,但如果有兩個日期字段,我可以排序日期,我該如何處理?假設date1,date 2和Point。如果積分相同,則會對date1進行排序。但是,如果Points和date1是相同的,那麼我如何根據date2來排序該點?你能幫我做這個嗎? @AdityaPansare – tanzilamohita

相關問題