Giúp đỡ sắp xếp dữ liệu theo thứ tự

Liên hệ QC

Avenged7

Thành viên mới
Tham gia
2/1/15
Bài viết
24
Được thích
0
Mọi người giúp em sắp xếp dữ liệu trong cột 2 và cột 3 theo thứ tự tăng dần với ạ.
VD: NTGP006.02.0011, NTGP006.02.0012, NTGP006.03.0001, NTGP006.03.0002,......

Cảm ơn mọi người. %#^#$
 

File đính kèm

Mọi người giúp em sắp xếp dữ liệu trong cột 2 và cột 3 theo thứ tự tăng dần với ạ.
VD: NTGP006.02.0011, NTGP006.02.0012, NTGP006.03.0001, NTGP006.03.0002,......

Cảm ơn mọi người. %#^#$
Bạn nêu chưa rõ vấn đề
Nếu xếp lại theo thứ tự, ví dụ ở ô B2: NTGP006.02, NTGP006.03, NTGP006.04, ...... nhưng vẫn để trong ô B2 hay list theo 1 cột, ví dụ:E2:E4 lần lượt là NTGP006.02, NTGP006.03, NTGP006.04.
Nếu vẫn để trong ô B2 thì phải dùng code
 
Bạn nêu chưa rõ vấn đề
Nếu xếp lại theo thứ tự, ví dụ ở ô B2: NTGP006.02, NTGP006.03, NTGP006.04, ...... nhưng vẫn để trong ô B2 hay list theo 1 cột, ví dụ:E2:E4 lần lượt là NTGP006.02, NTGP006.03, NTGP006.04.
Nếu vẫn để trong ô B2 thì phải dùng code

Vẫn để trong ô đó theo dạng cũ bác ạ.
 
Mọi người giúp em sắp xếp dữ liệu trong cột 2 và cột 3 theo thứ tự tăng dần với ạ.
VD: NTGP006.02.0011, NTGP006.02.0012, NTGP006.03.0001, NTGP006.03.0002,......

Cảm ơn mọi người. %#^#$
Chạy thử đoạn code
Kết quả dán vào cột E:G để kiểm tra cho dễ
Mã:
Public Sub Xep()
Dim DL, Tam, Kq(), r As Long, c As Long, cl As Long

DL = Sheet1.Range("A2", Sheet1.Range("C1000000").End(xlUp))
ReDim Kq(1 To UBound(DL), 1 To UBound(DL, 2))

With CreateObject("System.Collections.ArrayList")
For r = 1 To UBound(DL)
Kq(r, 1) = DL(r, 1)
For c = 2 To UBound(DL, 2)
Tam = Split(Replace(DL(r, c), " ", ""), ",")

For cl = 0 To UBound(Tam)
.Add CStr(Tam(cl))
Next cl
.Sort
Kq(r, c) = Join(.ToArray, ", ")
.Clear

Next c
Next r
End With

Sheet1.Range("E2:G100000").ClearContents
Sheet1.Range("E2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End Sub
 
Chạy thử đoạn code
Kết quả dán vào cột E:G để kiểm tra cho dễ
Mã:
Public Sub Xep()
Dim DL, Tam, Kq(), r As Long, c As Long, cl As Long

DL = Sheet1.Range("A2", Sheet1.Range("C1000000").End(xlUp))
ReDim Kq(1 To UBound(DL), 1 To UBound(DL, 2))

With CreateObject("System.Collections.ArrayList")
For r = 1 To UBound(DL)
Kq(r, 1) = DL(r, 1)
For c = 2 To UBound(DL, 2)
Tam = Split(Replace(DL(r, c), " ", ""), ",")

For cl = 0 To UBound(Tam)
.Add CStr(Tam(cl))
Next cl
.Sort
Kq(r, c) = Join(.ToArray, ", ")
.Clear

Next c
Next r
End With

Sheet1.Range("E2:G100000").ClearContents
Sheet1.Range("E2").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
End Sub

OK rùi, cảm ơn bác nhiều %#^#$
 
Web KT

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

Back
Top Bottom