Giúp mình xem lại code sort

Liên hệ QC

nahiep79

Thành viên mới
Tham gia
3/8/09
Bài viết
14
Được thích
1
Chào các bạn !!
Minh có 1 file trong đó có Sheet TongHop được tổng hợp từ các sheet con khác có cùng cấu chúc. Mình muốn các danh sách trong sheet TongHop được sắp xếp theo thứ tự tăng dần theo cột ngày nhập hồ sơ. Mình đã sử dụng code Tonghop code sort. Các bạn xem lại giúp mình code sort sao vẫn không sắp xếp được.
--------------------------
Sub Sort()
Range("A1:y1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("b1"), Order1:=1, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
End Sub
--------------------------
Rất mong được các bạn giúp đỡ.
Mình chân thành cảm ơn các bạn !
 

File đính kèm

Chào các bạn !!
Minh có 1 file trong đó có Sheet TongHop được tổng hợp từ các sheet con khác có cùng cấu chúc. Mình muốn các danh sách trong sheet TongHop được sắp xếp theo thứ tự tăng dần theo cột ngày nhập hồ sơ. Mình đã sử dụng code Tonghop code sort. Các bạn xem lại giúp mình code sort sao vẫn không sắp xếp được.
--------------------------
Sub Sort()
Range("A1:y1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("b1"), Order1:=1, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
End Sub
--------------------------
Rất mong được các bạn giúp đỡ.
Mình chân thành cảm ơn các bạn !
Làm như thế này:
PHP:
Sub Sort()
Range([A2], [Y65536].End(xlUp)).Sort [B2], 1, Header:=xlNo
End Sub
 
Upvote 0
Chào bạn huuthang_bd !
Mình đã dùng code sort của bạn và cảm thấy rất ổn. Chân thành cảm ơn bạn nhiều !!
Mong lần sau được bạn giúp đỡ.
Thân.
 
Upvote 0
Làm như thế này:
PHP:
Sub Sort()
Range([A2], [Y65536].End(xlUp)).Sort [B2], 1, Header:=xlNo
End Sub
-----------
Bạn Huuthang_ có thể hướng dẩn thêm trong trường hợp sort 2 cột thì code được viết như thế nào không? . Như ví dụ trên sắp xếp tăng dần từ B2, sau đó tiếp tục sắp xếp giảm dần từ K2.
Cám ơn bạn trước.
 
Upvote 0
-----------
Bạn Huuthang_ có thể hướng dẩn thêm trong trường hợp sort 2 cột thì code được viết như thế nào không? . Như ví dụ trên sắp xếp tăng dần từ B2, sau đó tiếp tục sắp xếp giảm dần từ K2.
Cám ơn bạn trước.
Thì sửa lại thế này:
PHP:
Sub Sort()
Range([A2], [Y65536].End(xlUp)).Sort [B2], 1, [K2], , 2, Header:=xlNo
End Sub


 
Upvote 0
-----------
Bạn Huuthang_ có thể hướng dẩn thêm trong trường hợp sort 2 cột thì code được viết như thế nào không? . Như ví dụ trên sắp xếp tăng dần từ B2, sau đó tiếp tục sắp xếp giảm dần từ K2.
Cám ơn bạn trước.
Viết thế này nè:
PHP:
Sub Sapxep()
  With Range([A1], [L65536].End(xlUp))
    .Sort .Cells(2, 2), 1, .Cells(2, 11), , 2, , , xlYes
  End With
End Sub
Lưu ý: Tôi thấy các bạn hay viết kiểu này:
Mã:
Sub Sapxep()
  With Range([A1], [L65536].End(xlUp))
    .Sort [COLOR=Red][B][B2][/B][/COLOR], 1, [B][COLOR=Red][K2][/COLOR][/B], , 2, , , xlYes
  End With
End Sub
Vẫn ra kết quả nhưng sẽ không hay bằng cách ở trên ---> Lý do là khi có thay đổi vùng dử liệu, với cách viết 1 bạn chỉ cần sửa duy nhất 1 dòng trên cùng (với cách 2 phải sửa đến 3 chổ)
 
Upvote 0
Hỏi thêm về lệnh Sort

Thì sửa lại thế này:
PHP:
Sub Sort()
Range([A2], [Y65536].End(xlUp)).Sort [B2], 1, [K2], , 2, Header:=xlNo
End Sub
---
Nhưng bạn huuthang_bd cho tôi hỏi thêm, ví dụ tôi có vùng cần sort A2:Y500, nhưng số liệu liên tục từ A2 -> A500, Y2 -> Y495. Vậy khi tôi áp dụng code này thì vùng sort chỉ là A2:Y495 có phải không. Nếu được bạn hướng dẫn thêm.
( Tôi cần Y lúc nào cũng sort theo A, theo ví dụ trên là A2:Y500. Cột A luôn biến động )
Thân chào.
 
Upvote 0
---
Nhưng bạn huuthang_bd cho tôi hỏi thêm, ví dụ tôi có vùng cần sort A2:Y500, nhưng số liệu liên tục từ A2 -> A500, Y2 -> Y495. Vậy khi tôi áp dụng code này thì vùng sort chỉ là A2:Y495 có phải không. Nếu được bạn hướng dẫn thêm.
( Tôi cần Y lúc nào cũng sort theo A, theo ví dụ trên là A2:Y500. Cột A luôn biến động )
Thân chào.
Đúng rồi. Nếu vậy bạn sửa lại như thế này:
PHP:
Sub Sort()
Range([A2], Cells([A65536].Row, 25)).Sort [B2], 1, [K2], , 2, Header:=xlNo
End Sub
 
Upvote 0
Đúng rồi. Nếu vậy bạn sửa lại như thế này:
PHP:
Sub Sort()
Range([A2], Cells([A65536].Row, 25)).Sort [B2], 1, [K2], , 2, Header:=xlNo
End Sub
Chổ này:
Cells([A65536].Row, 25)
sao không ghi là:
Cells(65536, 25)
hoặc:
Cells(65536, "Y") càng trực quan hơn
thêm cái .Row vào chi vậy bạn?
 
Upvote 0
Chổ này:
Cells([A65536].Row, 25)
sao không ghi là:
Cells(65536, 25)
hoặc:
Cells(65536, "Y") càng trực quan hơn
thêm cái .Row vào chi vậy bạn?
---
Nhưng thấy nó ngộ như thế nào đó chú ơi, vậy có phải là đi 1 vòng lại về như thế này (không đúng thì thôi):
Mã:
[COLOR=blue]Sub Sort()[/COLOR]
[COLOR=blue]Range([A2], [Y65536]).Sort [B2], 1, [K2], , 2, Header:=xlNo[/COLOR]
[COLOR=navy][COLOR=blue]End Sub[/COLOR] [/COLOR]
---
Mà ý anh muốn là có thể lồng thuộc tính End ở đây không ( không phải sort vùng không có dữ liệu và Y lúc nào cũng phải theo số dòng A -> bài #7)
 
Lần chỉnh sửa cuối:
Upvote 0
---
Nhưng thấy nó ngộ như thế nào đó chú ơi, vậy có phải là đi 1 vòng lại về như thế này (không đúng thì thôi):
Mã:
[COLOR=blue]Sub Sort()[/COLOR]
[COLOR=blue]Range([A2], [Y65536]).Sort [B2], 1, [K2], , 2, Header:=xlNo[/COLOR]
[COLOR=navy][COLOR=blue]End Sub[/COLOR] [/COLOR]
---
Mà ý anh muốn là có thể lồng thuộc tính End ở đây không ( không phải sort vùng không có dữ liệu và Y lúc nào cũng phải theo số dòng A -> bài #7)
Vùng dử liệu là A2 đến Y65536, nghĩa là tất tần tật rồi... vậy anh cần gì quan tâm đến dòng cuối cùng nữa cho mệt!
Hoặc nếu anh vẫn quyết định thể thì:
PHP:
Sub Sort()
  With Range([A2], [A65536].End(xlUp)).Resize(, 25)
    .Sort Cells(1, 2), 1, .Cells(1, 11), , 2, Header:=xlNo
  End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom