如何根据VBA中的特定行对其他行进行排序?

如何根据VBA中的特定行对其他行进行排序?,vba,excel,sorting,Vba,Excel,Sorting,在我的工作表中,有三列。我想根据点对其他值进行排序。这是单元格值 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

在我的工作表中,有三列。我想根据点对其他值进行排序。这是单元格值

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

如图所示放置数据,并在代码行下方运行


是否存在无法在Excel中使用内置排序功能的原因?开始录制宏,进行排序并停止宏。您将获得一个良好的起始代码我想您必须更改这些
“I1”
“G1”
地址以匹配您的链接图像数据结构…非常感谢。我还有一个问题。在这里,如果点相同,我可以对日期进行排序,但如果有两个日期字段,我如何处理?假设date1、Date2和Point。如果点相同,则将对date1进行排序。但如果点和日期1相同,那么如何根据日期2对点进行排序?你能帮我做这件事吗@再会三级被这样。。。。假设你在D列有日期2。。。。。范围(“A1”)。排序键1:=范围(“C1”)、顺序1:=xlDescending、键2:=Range(“B1”)、顺序2:=xlDescending、键3:=Range(“D1”)、顺序3:=xlDescending、标题:=xlYes我这样做了。但在添加键4时遇到了一个问题。它显示“未找到命名参数”。如何对3列以上的列进行排序?VBA排序功能只允许指定最多3列进行排序。。。。您只需使用不同的列对数据进行一次排序。即对同一数据进行不同排序。
 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