sanzin111085
Thành viên mới

- Tham gia
- 16/11/10
- Bài viết
- 25
- Được thích
- 0
Làm thí thử xem, bỏ merge cells trước khi sort nhé.Dear,
Mình có một bảng dữ liệu như dữ liệu đính kèm, mình muốn nhờ các bạn giúp mình làm sao để sort được dữ liệu theo thứ tự từ A-Z ở cột O ( Case No.) giúp mình với, bất cứ cách nào cũng đc, mình đang cần gấp quá, cám ơn các bạn nhiều!
Regards,
Muốn Merge thì thêm vài dòng code cho nó Merge.Mình vừa phải đi công tác, mới về nên mới vào đọc được!
Cám ơn các bạn đã trả lời, nhưng chưa đúng với mong muốn của mình!
Mình muốn sắp xếp lại dữ liệu ở cột O, trong đó bao gồm cả những ô có merge cell, nhưng sau khi sắp xếp thì thứ tự các hàng cũng sắp xếp theo.
Ví dụ: dữ liệu trong cột O2+O3 được Merge lại thành ABC, thì khi mình sắp xếp lại dữ liệu ABC sẽ bị đẩy xuống thành cột O6+O7 chẳng hạn, nhưng các dữ liệu ở dòng 2+3 cũng đc kéo xuống thành dữ liệu của dòng 6+7.(tức là sort dữ liệu các dòng theo cột O)
Bạn nào giúp mình với, cám ơn các bạn lần nữa!
Public Sub GPE()
Application.ScreenUpdating = False
Dim Rng As Range, N As Long, I As Long, Dau As Long, Cuoi As Long
With Sheets("GPE")
N = .[B65000].End(xlUp).Row
Set Rng = .Range("B6:B" & N).Resize(, 100)
Rng.UnMerge
For I = 6 To N
If Cells(I, 15) = "" Then
Cells(I, 256) = Cells(I - 1, 256)
Else
Cells(I, 256) = Cells(I, 15)
End If
Next I
.Range("A6:IV" & N).Sort Key1:=.Range("IV6"), Order1:=xlAscending
.Range("IV6:IV" & N).ClearContents
For I = 6 To N
If .Cells(I, 15) <> "" And Cells(I + 1, 15) = "" Then Dau = I
If .Cells(I, 15) = "" And (Cells(I + 1, 15) <> "" Or Cells(I, 15) = N) Then
Cuoi = I
.Range(.Cells(Dau, 15), .Cells(Cuoi, 15)).Merge
.Range(.Cells(Dau, 35), .Cells(Cuoi, 35)).Merge
.Range("O6:O" & N).Borders.LineStyle = xlContinuous
End If
Next I
End With
Application.ScreenUpdating = True
End Sub