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

다음과 같이 정렬하고 싶습니다. 같은 점이 발견되면 Date를 기준으로 정렬됩니다. 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, date2 및 Point를 가정합니다. 포인트가 동일하면 날짜 1이 정렬됩니다. 하지만 Points와 date1이 같으면 어떻게 date2에 따라 정렬 할 수 있습니까? 이 일을 도와 주실 수 있습니까? @AdityaPansare – tanzilamohita