Kao sto je neptuncokg rekao funkcija kakva tebi treba moze da se SNIMI.
Pa recimo sortiranje po prvih 6 kolona u rastuci niz bi bila:
Code:
Sub SortBy6Columns()
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B2:B22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C2:C22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D2:D22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("E2:E22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F2:F22") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:L22")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Obrati paznju da se ovde vrsi dodavanje (.Sort.SortFields.Add Key) za svako naredno sortiranje
pa tako 6 puta za svaku kolonu po kojoj treba da se zada kriterijum sortiranja, a tek zatim kada
se svi uslovi zadaju tek tada se poziva komanda za sortiranje tabele. Takodje obrati paznju na
to da sam se ja igrao sa tabelom koja ima 22 reda i da adekvatno promenis ovu brojku.
Pozdrav