Viết code Sort dòng cho tất cả các Sheet (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Hiện tại mình có Macro Sort tất cả các giá trị của dòng 3 ra đằng trước
Hiện tại có tất cả 24 sheet giống nhau, cứ mỗi lần thêm sheet mới hay sữa tên sheet là phải điều chỉnh lại macro
Mình thấy trên diễn đàn có code sort cột như sau
Range("O5:Q5000").Sort [Q5], 2
Nay nhờ các anh GPE viết code sort dòng
Cám ơn các Anh GPE
 
Nhìn dữ liệu khó hiểu quá bạn, phương thức sort tôi ví dụ như sau:
Mã:
[B5:E1000].Sort [B5], 1, [C5], Order2:=1, Key3:=[D5], Order3:=1, Header:=xlNo
Code sort được 3 cột, bạn thay mảng dữ liệu muốn sort.
Các đối số:
- Order = 1, sắp xếp tăng dần, 2 là giảm dần
- Header = xlno là mảng sắp xếp ko bao gồm tiêu đề, xlyes thì ngược lại.
 
Upvote 0
Hiện tại mình có Macro Sort tất cả các giá trị của dòng 3 ra đằng trước
Hiện tại có tất cả 24 sheet giống nhau, cứ mỗi lần thêm sheet mới hay sữa tên sheet là phải điều chỉnh lại macro
Nay nhờ các anh GPE viết code sort giống như macro nhưng áp dụng cho tất cả sheet ngoại trừ sheet(KH)
Cám ơn các Anh GPE
 
Upvote 0
Nhìn dữ liệu khó hiểu quá bạn, phương thức sort tôi ví dụ như sau:
Mã:
[B5:E1000].Sort [B5], 1, [C5], Order2:=1, Key3:=[D5], Order3:=1, Header:=xlNo
Code sort được 3 cột, bạn thay mảng dữ liệu muốn sort.
Các đối số:
- Order = 1, sắp xếp tăng dần, 2 là giảm dần
- Header = xlno là mảng sắp xếp ko bao gồm tiêu đề, xlyes thì ngược lại.
code nay sort cột mà nếu muốn sort dòng thì sữa chỗ nào anh
 
Upvote 0
Hiện tại mình có Macro Sort tất cả các giá trị của dòng 3 ra đằng trước
Hiện tại có tất cả 24 sheet giống nhau, cứ mỗi lần thêm sheet mới hay sữa tên sheet là phải điều chỉnh lại macro
Nay nhờ các anh GPE viết code sort giống như macro nhưng áp dụng cho tất cả sheet ngoại trừ sheet(KH)
Cám ơn các Anh GPE
Thử vầy xem sao
Sub SortDuLieu()
Dim Sh as Worksheet
For Each Sh in Worksheets
If sh.Name <> "KH" Then
'Code chỗ này..................
End If
Next
End Sub
 
Upvote 0
Thử vầy xem sao
Sub SortDuLieu()
Dim Sh as Worksheet
For Each Sh in Worksheets
If sh.Name <> "KH" Then
'Code chỗ này..................
End If
Next
End Sub
đúng rồi ý của mình là như vậy đó nhưng mình muốn sữa code macro cho ngắn gọn hơn được không? giống như cái code sort cột mà mình vi dụ đó
 
Upvote 0
Cách chọn dữ liệu trong data Validation

Chào mọi người,
Em đang làm một file excel trong đó có 4 cột được trình bày là nhân viên 1, đánh giá nhân viên 1, nhân viên 2, đánh giá nhân viên 2. em đã sử dụng validation để cho cột nhân viên 1 chỉ chọn những dữ liệu tên nhân viên trong 1 sheet khác. Vấn đề ở đây là, tòan bộ những cột còn lại đều cho chọn dữ liệu là tên nhân viên. Em muốn cột đánh giá nhân viên là chọn dữ liệu khác trong sheet khác nhưng không biết làm thế nào ạ. Mong các bác giúp e. Thanks.
 
Upvote 0
Thử vầy xem sao
Sub SortDuLieu()
Dim Sh as Worksheet
For Each Sh in Worksheets
If sh.Name <> "KH" Then
'Code chỗ này..................
End If
Next
End Sub
Anh Hải mình chỉ chạy được sheet đầu tiên còn các sheet sau không được
Mã:
Private Sub CommandButton2_Click()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "KH" Then
Sh.Range("J1:IV65536").Sort Sh.Range("J3:IV3"), 1
End If
Next
End Sub
 
Upvote 0
Anh Hải mình chỉ chạy được sheet đầu tiên còn các sheet sau không được
Mã:
Private Sub CommandButton2_Click()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "KH" Then
Sh.Range("J1:IV65536").Sort Sh.Range("J3:IV3"), 1
End If
Next
End Sub
Hình như cú pháp Sort này chưa đúng đó. Mình xem qua nhưng không hiểu
 
Upvote 0
Mình muốn sort tất cả các giá trị của dòng 3 ra đằng trước
Nhưng code sort này mình áp dụng 1 sheet thì được
Anh có thể chỉ giúp được không
Cám ơn anh nhiều
Cái câu "dòng 3 ra đằng trước", quả thật là khó hiểu, vì sắp xếp là sắp xếp theo cột theo nguyên tắc tăng dần hay giảm dần.
Bạn muốn sắp xếp mảng dữ liệu nào? theo cột nào? thì cấu trúc code tôi đã việt ở bài #2.
 
Upvote 0
Phương thức sort tổng quát:
Mã:
[I]expression[/I][COLOR=#454545][FONT=Segoe UI] .[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]Sort[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]([/FONT][/COLOR][B][I]Key1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Type[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Header[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]OrderCustom[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]MatchCase[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Orientation[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]SortMethod[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption2[/I][/B][COLOR=#454545][FONT=Segoe UI],[/FONT][/COLOR][B][I]DataOption3[/I][/B][COLOR=#454545][FONT=Segoe UI])[/FONT][/COLOR]
Tôi thử như thế này: không biết có đúng ý bạn ko?
[GPECODE=vb]Sub SortDuLieu()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "KH" Then
[J3:IV1063].Sort [3:3], 1, Orientation:=xlLeftToRight
End If
Next
End Sub[/GPECODE]
 
Upvote 0
Phương thức sort tổng quát:
Mã:
[I]expression[/I][COLOR=#454545][FONT=Segoe UI] .[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]Sort[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]([/FONT][/COLOR][B][I]Key1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Type[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Header[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]OrderCustom[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]MatchCase[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Orientation[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]SortMethod[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption2[/I][/B][COLOR=#454545][FONT=Segoe UI],[/FONT][/COLOR][B][I]DataOption3[/I][/B][COLOR=#454545][FONT=Segoe UI])[/FONT][/COLOR]
Tôi thử như thế này: không biết có đúng ý bạn ko?
[GPECODE=vb]Sub SortDuLieu()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "KH" Then
[J3:IV1063].Sort [3:3], 1, Orientation:=xlLeftToRight
End If
Next
End Sub[/GPECODE]
Sao minh chep vào chỉ chạy được sheet dau con sheet sau khong chay
 
Upvote 0
Phương thức sort tổng quát:
Mã:
[I]expression[/I][COLOR=#454545][FONT=Segoe UI] .[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]Sort[/FONT][/COLOR][COLOR=#454545][FONT=Segoe UI]([/FONT][/COLOR][B][I]Key1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Type[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order2[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Key3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Order3[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Header[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]OrderCustom[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]MatchCase[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]Orientation[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]SortMethod[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption1[/I][/B][COLOR=#454545][FONT=Segoe UI], [/FONT][/COLOR][B][I]DataOption2[/I][/B][COLOR=#454545][FONT=Segoe UI],[/FONT][/COLOR][B][I]DataOption3[/I][/B][COLOR=#454545][FONT=Segoe UI])[/FONT][/COLOR]
Tôi thử như thế này: không biết có đúng ý bạn ko?
[GPECODE=vb]Sub SortDuLieu()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "KH" Then
[J3:IV1063].Sort [3:3], 1, Orientation:=xlLeftToRight
End If
Next
End Sub[/GPECODE]
Cám ơn Anh nha
mình them sh vào chay được rồi
Mã:
Private Sub CommandButton1_Click()
Dim Sh As Worksheet
    For Each Sh In Worksheets
    If Sh.Name <> "KH" Then
        Sh.[J3:IV1063].Sort Sh.[3:3], 1, Orientation:=xlLeftToRight
    End If
Next
End Sub
 
Upvote 0

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

Back
Top Bottom