code sử dụng RemoveDuplictes 2 cột

Liên hệ QC

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
940
Được thích
172
Giới tính
Nữ
Chào các anh chị!
Em có file này, bắt chước code của Thầy Ba Tê, sử dụng code RemoveDuplicates cho hai cột nhưng không được, mong các Anh Chị giúp đỡ. Nhấn "Sao" Lọc tên Phụ liệu
Và Lọc xong thì Sort luôn dùm em với.
 

File đính kèm

  • HoiGPE.xlsb
    28.2 KB · Đọc: 10
Chào các anh chị!
Em có file này, bắt chước code của Thầy Ba Tê, sử dụng code RemoveDuplicates cho hai cột nhưng không được, mong các Anh Chị giúp đỡ. Nhấn "Sao" Lọc tên Phụ liệu
Và Lọc xong thì Sort luôn dùm em với.
Thử thay dòng:
PHP:
  R = .Range("F:G50000").End(xlUp).Row
bằng:
PHP:
  R = .Range("F50000").End(xlUp).Row
 
Upvote 0
Em thay như anh nói thì lọc ra có 4 loại phụ liệu ah.
Mong anh giúp.
 
Upvote 0
Chào các anh chị!
Em có file này, bắt chước code của Thầy Ba Tê, sử dụng code RemoveDuplicates cho hai cột nhưng không được, mong các Anh Chị giúp đỡ. Nhấn "Sao" Lọc tên Phụ liệu
Và Lọc xong thì Sort luôn dùm em với.
Bạn thử sửa chỗ này xem sao
01. Xác định dòng cuối cùng viết như Vậy là chưa đúng bạn để thành: R = .Range("G50000").End(xlUp).Row
02. Đối với RemoveDuplicates Columns chỗ này bạn không nên để thành 2 mà phải sửa thành: RemoveDuplicates Columns:=Array(1, 2)
Bạn thử sửa theo 2 vấn đề trên xem kết quả OK chưa !
 
Upvote 0
Ah! Đúng rồi bạn vanaccex ơi.
Giúp mình code sort theo tên Phụ liệu đi bạn.
 
Upvote 0
PHP:
Public Sub LocPL()
Dim R As Long
With Sheets("PL")
    R = .Range("F50000").End(xlUp).Row
    .Range("M4:N1000").ClearContents
    .Range("M4:N" & R).Value = .Range("F4:G" & R).Value
    .Range("M4:N" & R).RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
    .Range("M4", .Range("N4").End(xlDown)).Sort Key1:=.Range("M4")
End With
End Sub

Public Sub LocNCC()
Dim R As Long
With Sheets("PL")
    R = .Range("I50000").End(xlUp).Row
    .Range("O4:O1000").ClearContents
    .Range("O4:O" & R).Value = .Range("I4:I" & R).Value
    .Range("O4:O" & R).RemoveDuplicates Columns:=1, Header:=xlNo
    .Range("O4:O" & R).Sort Key1:=.Range("O4")
End With
End Sub
 
Upvote 0
Kỳ vậy, sao em làm như anh thì chỉ có 4 loại phụ liệu (Tới anh phulien1902)
 
Upvote 0
Cám ơn Thày Ba Tê, và bạn vanaccex nhiều.
 
Upvote 0
PHP:
Public Sub LocPL()
Dim R As Long
With Sheets("PL")
    R = .Range("F50000").End(xlUp).Row
    .Range("M4:N1000").ClearContents
    .Range("M4:N" & R).Value = .Range("F4:G" & R).Value
    .Range("M4:N" & R).RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
    .Range("M4", .Range("N4").End(xlDown)).Sort Key1:=.Range("M4")
End With
End Sub

Public Sub LocNCC()
Dim R As Long
With Sheets("PL")
    R = .Range("I50000").End(xlUp).Row
    .Range("O4:O1000").ClearContents
    .Range("O4:O" & R).Value = .Range("I4:I" & R).Value
    .Range("O4:O" & R).RemoveDuplicates Columns:=1, Header:=xlNo
    .Range("O4:O" & R).Sort Key1:=.Range("O4")
End With
End Sub
Em muốn hỏi anh chút là đoạn code này có thể chỉnh sửa áp dụng với filter để được kết quả là dữ liệu trùng các dòng trùng và kết quả trùng
 
Upvote 0
Chào các anh chị!
Em có file này, bắt chước code của Thầy Ba Tê, sử dụng code RemoveDuplicates cho hai cột nhưng không được, mong các Anh Chị giúp đỡ. Nhấn "Sao" Lọc tên Phụ liệu
Và Lọc xong thì Sort luôn dùm em với.
Góp ý bạn thế này: Với code RemoveDuplicate hay Advanced Filter, bạn cứ chọn vùng dữ liệu thừa ra thoải mái mà không cần phải End(xlUp), End(xlDown) chi cho mất công, lại dễ sai. Ví dụ code của bạn, tôi sẽ viết đơn giản vầy:
Mã:
Public Sub LocPL()
  With Sheets("PL")
    .Range("M4:N10000").ClearContents
    .Range("M4:N10000").Value = .Range("F4:G10000").Value
    .Range("M4:N10000").RemoveDuplicates Array(1, 2), xlNo
  End With
End Sub
Tương tự thế với Sort, chỗ nào thừa thì Excel đủ thông minh để bỏ qua
 
Upvote 0
Web KT
Back
Top Bottom