LuuAnh980
Thành viên tiêu biểu
- Tham gia
- 28/9/22
- Bài viết
- 452
- Được thích
- 104
- Giới tính
- Nữ
Tiêu chí lọc không trùng dựa vào cột nào, Sort ưu tiên cột nào. Diễn giải rõ ràng vào bạnChào các anh chi!!!!
Em có file muôn nhờ các anh chị lọc không trùng của 3 cột và sau khi lọc xong thì sort từ nhỏ đến lớn luôn ạ.
Trong 3 cột có một số dòng rống, thì bỏ qua ạ.
Trong file em có ví dụ ạ.
Sub GPE()
Dim Arr(), Res(), i&, j&, k&, Lr&
Dim Dic As Object, Key$
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
Lr = .Range("E" & Rows.Count).End(xlUp).Row
Arr = .Range("E2:O" & Lr).Value
ReDim Res(1 To UBound(Arr), 1 To 3)
For i = 1 To UBound(Arr)
If Arr(i, 1) <> "" Then
Arr(i, 2) = Arr(i, 2) * 1
Key = Arr(i, 1) & "_" & Arr(i, 11)
If Not Dic.exists(Key) Then
k = k + 1
Dic.Add (Key), k
Res(k, 1) = Arr(i, 1)
Res(k, 2) = Arr(i, 2)
Res(k, 3) = Arr(i, 11)
Else
Res(Dic.Item(Key), 2) = Res(Dic.Item(Key), 2) + Arr(i, 2)
End If
End If
Next i
If k Then
.Range("T2:V100000").ClearContents
.Range("U:U").NumberFormat = "0"
.Range("T2").Resize(k, 3).Value = Res
With Range("T1:V1000")
.Sort .Cells(1, 1), 1, Header:=xlGuess
End With
End If
End With
MsgBox "Hoan Thanh"
Set Dic = Nothing
End Sub
Bạn muốn cộng dồn số mã nhưng cột số mã dữ liệu lại dạng text?Chưa đúng anh ơi!!!!
Sao có So ma gì mà lên tới hàng trăm anh
View attachment 282596
cột don hang sao canh trai canh phải tùm lum vậy anh.
Chỗ đó để dữ liệu chuyển qua number bạnBạn bỏ chỗ này xem sao
Hình như thớt muốn cộng dồn số mã mà ta?!Vậy bạn bỏ đoạn này và định dạng cột U thành Text trước khi chạy code
View attachment 282599
Vì yêu cầu "Số Mã" là Text, vì thế không nên chuyển sang number.
Nó đang sort theo cột đơn hàng.Cột số mã không phải cộng dồn, mà lọc đưa qua theo côt Đơn hàng anh @Zl: 0933707265 ơi.
Ủa mà Sort sao kỳ vậy anh @Zl: 0933707265 sao 120,122,125 lại nằm trên 95,99
View attachment 282600
With Range("T1:V1000")
.Sort .Cells(1, 1), 1, Header:=xlGuess
End With
With Range("T1:V1000")
.Sort .Cells(1, 2), 1, Header:=xlGuess
End With
Bạn thử với hàm tự tạo xem sao. Ở sheet nào cũng dùng được.Tất cả dựa vào cột E anh ơi, Sort ưu tiên cột E luôn anh ơi.
Bạn nêu chỗ sai được không, chỉ nói không đúng rồi dừng thì ai biết sai chỗ nào nhỉ.Hàm của anh @Hoàng Tuấn 868 sao em thấy chạy không đúng.
Điều kiện của bạn ở bài #3 là lọc theo cột E, rồi xắp xếp theo cột E thì có 13 số đơn hàng duy nhất thôi mà, vậy sai ở chỗ nào nhỉ.Sao em kéo công thức xuông nó ra như vầy
View attachment 282607