







Sub Macro1()
Application.ScreenUpdating = False
    Sheet1.Select
    [A:C].Sort Key1:=[B2], Order1:=xlAscending, Header:=xlGuess
    Sheet2.Select
    [A:C].Sort Key1:=[C2], Order1:=xlAscending, Header:=xlGuess
    Sheet3.Select
    MsgBox ("Hoan Ho , Da Sort xong roi!")
End SubMình có 1 file excel, mình muốn tạo 1 nút ấn bên sheet 3 để khi click vào đó sẽ tự động Sort dữ liệu của 2 sheet khác (sheet 1 sort theo cột B, sheet 2 sort theo cột C)
Đây là ý tưởng nhưng mình chưa biết cách thực hiện nên mong được chỉ giáo.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Row <> 1 Then Exit Sub
    Rows("2:65536").Sort Key1:=Cells(2, Target.Column), _
                   Order1:=xlAscending, Header:=xlNo
End SubChẳng hiểu bạn sort vậy với mục đích gì? Nếu chỉ... nhìn chơi thì thôi làm bằng tay cho rồi, còn như có mục đích gì khác thì khuyên bạn nên nói rõ! Như vậy có thể mọi người sẽ hướng cho bạn 1 cách làm khác triệt để hơnMình có 1 file excel, mình muốn tạo 1 nút ấn bên sheet 3 để khi click vào đó sẽ tự động Sort dữ liệu của 2 sheet khác (sheet 1 sort theo cột B, sheet 2 sort theo cột C)
Đây là ý tưởng nhưng mình chưa biết cách thực hiện nên mong được chỉ giáo.
Bạn giải thích hoặc cho ví dụ giúp ý này , tôi chưa rõ lắm .Lưu ý: Nếu không còn tác vụ nào khác thì khi thoát Code mặc nhiên Application.ScreenUpdating được set thành True.




Chẳng hiểu bạn sort vậy với mục đích gì? Nếu chỉ... nhìn chơi thì thôi làm bằng tay cho rồi, còn như có mục đích gì khác thì khuyên bạn nên nói rõ! Như vậy có thể mọi người sẽ hướng cho bạn 1 cách làm khác triệt để hơn




Sub Macro1()
Application.ScreenUpdating = False
    Sheet1.Select
    Range([D4], [F65536].End(3)).Sort Key1:=[E7], Order1:=xlAscending, Header:=xlGuess
    Sheet2.Select
    Range([C7], [E65536].End(3)).Sort Key1:=[E4], Order1:=xlAscending, Header:=xlGuess
    Sheet3.Select
    MsgBox ("Hoan Ho , Da Sort xong roi!")
End Sub