Sắp xếp dòng tiêu đề tăng giảm theo dòng khác

Thiên Thanh

Yêu THVBA
Chào anh chị và các bạn.
Nhờ anh chị và các bạn trên diễn đàn viết giúp hàm VBA như file đính kèm
Cảm ơn anh chị và các bạn.
 

linhlbk

Yêu THVBA
1. Lần sau chụp ảnh lại rồi để ảnh lên đây cho mọi người nhìn yêu cầu và mong muốn, tải File về mở ra mới xem được rất rườm rà.
2. Excel hiện chỉ lọc theo hàng chứ chưa thấy sắp xếp theo cột, theo hiểu biết ngu muôi thì hàm sắp xếp VBA thì tương đối phức tạp.
3. sol: viết code VBA để sắp xếp ra vùng khác thì hợp lý hơn.
 

Thiên Thanh

Yêu THVBA
1. Lần sau chụp ảnh lại rồi để ảnh lên đây cho mọi người nhìn yêu cầu và mong muốn, tải File về mở ra mới xem được rất rườm rà.
2. Excel hiện chỉ lọc theo hàng chứ chưa thấy sắp xếp theo cột, theo hiểu biết ngu muôi thì hàm sắp xếp VBA thì tương đối phức tạp.
3. sol: viết code VBA để sắp xếp ra vùng khác thì hợp lý hơn.
ơ em tưởng xem file thì dễ hơn chứ
 

John Carter

Yêu THVBA
@Thiên Thanh xem hình và mô tả để xem đủ sức giúp bạn hông rồi mới tải file. Nhiều ng dùng điện thoại để truy cập diễn đàn mà.
Bạn quăng file lên và ghi yêu cầu trong đấy, chẳng khác gì thầy giáo hay khách hàng yêu cầu dịch vụ có trả phí vậy.
 

Thiên Thanh

Yêu THVBA
Em cảm ơn anh @Ngày Mới
Anh ơi nhưng mà em có rất nhiều dòng dữ liệu. (Trong đó chỉ có 1 dòng tiêu đề
Vì vậy em muốn hàm thì mới được anh à.
Em có đọc bài này trên diễn đàn
Nhưng là hàm sắp xếp của cột và dữ liệu không tách ra từng ô
Anh @Ngày Mới xem và giúp em với anh nhé
Cảm ơn anh.
 
D

Deleted member 1392

Guest
@Thiên Thanh Nếu là hàm, dữ liệu bạn cần đưa ra 1 chổ khác, còn 1 chổ chừa cho hàm chạy. Tuy nhiên, việc tạo hàm này theo tôi là sẽ tương đối phức tạp. Để tạo được hàm như bạn nói, cần phải tạo ra được hàm mảng, tương tự như hàm Sort trong Office 365. Tôi chưa có ý tưởng gì cho hàm này như mô tả ở trên, nên rất tiếc là không giúp bạn được.
 

NhanSu

SMod
Thành viên BQT
Bài này dùng sort theo chiều ngang như bạn Ngày mới là được, cần gì phải vba cho mất công nhỉ. Hay chủ topic còn nhu cầu gì khác?
 

NhanSu

SMod
Thành viên BQT
Cách đơn giản nhất là dùng hàm SORTBY trên excel 365. Nếu dùng VBA thì
Mã:
Sub a()
    Dim r As Range, x, arr
    Application.ScreenUpdating = False
    Set r = Selection
    arr = r.Value
    For x = 2 To r.Rows.Count
        r.Sort key1:=r.Rows(x), order1:=xlAscending, Header:=xlNo, Orientation:=xlSortRows
        r.Rows(1).Copy Sheet2.Cells(x - 1, 1)
        r = arr
    Next
    Application.ScreenUpdating = True
End Sub
Chọn vùng B3:J7, bấm Alt-F8 để chạy code.
 

Thiên Thanh

Yêu THVBA
Ôi hay quá!
Cảm ơn anh @NhanSu nhiều nhé
Tuy là không linh hoạt bằng hàm nhưng rất chuẩn
Giá như anh có thể tách dòng tiêu đề và mảng dữ liệu ra làm 2 phần thì rất chuẩn luôn
(Bởi vì vùng dữ liệu có nhiều dòng, nên khi chọn thì bắt buộc phải chọn hết cả bảng)
 
Top