Xin hướng dẫn Code về sort các cột trong bảng

Liên hệ QC

DungMD

Thành viên chính thức
Tham gia
21/6/21
Bài viết
65
Được thích
16
Tôi muốn nhờ các bác giúp, hiện tại code ( do tôi tự lập bằng recod macro) giúp chạy tự động các cột sort theo từ bé đến lớn
Tuy nhiên tôi gặp vấn đề là chỉ sort được tới dòng cố định ( là dòng 39)
Vậy hiện tại tôi muốn solf đến dòng cuối cùng có số liệu của mỗi cột thì phải làm thế nào ?

Tôi xin cảm ơn
Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+g
'
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"A3:A39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"B3:B39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"C3:C39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
"D3:D39"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 

File đính kèm

  • 1626102701558.png
    1626102701558.png
    82.8 KB · Đọc: 5
  • Solf.xlsm
    25.3 KB · Đọc: 8
Tôi muốn nhờ các bác giúp, hiện tại code ( do tôi tự lập bằng recod macro) giúp chạy tự động các cột sort theo từ bé đến lớn
Tuy nhiên tôi gặp vấn đề là chỉ sort được tới dòng cố định ( là dòng 39)
Vậy hiện tại tôi muốn solf đến dòng cuối cùng có số liệu của mỗi cột thì phải làm thế nào ?

Tôi xin cảm ơn
Sửa lại chút thế này.
Mã:
Sub Macro6()
'
' Macro6 Macro
'
' Keyboard Shortcut: Ctrl+g
'
    Dim aRow As Integer
    aRow = Sheet1.UsedRange.Rows.Count
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "A3:A" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "B3:B" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "C3:C" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "D3:D" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Upvote 0
Sub Macro6() ' ' Macro6 Macro ' ' Keyboard Shortcut: Ctrl+g ' Dim aRow As Integer aRow = Sheet1.UsedRange.Rows.Count ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _ "A3:A" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _ "B3:B" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _ "C3:C" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort.SortFields.Add2 Key:=Range( _ "D3:D" & aRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NKC").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Cảm ơn bác rất nhiều !
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom