GIúp code xóa các tên mặt hàng trùng nhau, chỉ chừa lại tên cho dòng trên cùng

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Văn Toàn 1996

Thành viên chính thức
Tham gia
5/6/23
Bài viết
73
Được thích
16
Chào tất cả mọi người ! em cần 1 đoạn code để xóa các dòng trùng tên ( xuất hiện 2 lần trở lên ), chỉ xóa các dòng ở dưới ( chừa lại dòng trên cùng ) như ảnh mô tả bên dưới. Nhờ mọi người giúp code. em Xin chân thành cảm ơn ạ !

1715939199712.png
 

File đính kèm

  • xoa dong trung.xlsm
    11.9 KB · Đọc: 5
Chào bạn,
Code chỉ áp dụng sheet1, cột B , như hình của bạn đó
 

File đính kèm

  • xoa dong trung.xlsm
    22 KB · Đọc: 14
Upvote 0
Chào tất cả mọi người ! em cần 1 đoạn code để xóa các dòng trùng tên ( xuất hiện 2 lần trở lên ), chỉ xóa các dòng ở dưới ( chừa lại dòng trên cùng ) như ảnh mô tả bên dưới. Nhờ mọi người giúp code. em Xin chân thành cảm ơn ạ !

Trường hợp dữ liệu như trong hình thì kết quả là gì?

.Excel.png
 
Upvote 0
Kết quả không đúng với vấn đề của chủ thớt chứ gì ta (?)
Xem lại bài #1 vả bài #5 của chủ đề này rồi sẽ hiểu.(Cột số thứ tự)

 
Upvote 0
Dùng cột phụ đếm. Xong lọc rồi xóa toẹt cái là được mà
Thấy tiêu đề thớt năn nỉ "giúp" nghe tha thiết quá, tội! cũng ngứa tay tính xáng vài cái... công thức, nhưng ngó kỹ lại thấy đề "giúp code" trong mục "Lập trình với Excel" nên thôi vậy.

Thấy em dùng cột phụ tức phải dùng công thức, làm anh bị liệu theo.

/-*+//-*+//-*+/
 
Upvote 0
Upvote 0
Tại bạn chưa có profile của chủ thớt thôi
Dạ, chắc em phải chờ 'cúng dường' mới được cái profile 'quý quá' đó.

Anh biết rồi mà! Cái tật em hay thương bậy, xáng bậy mấy người thấy 'tội', nên mới gọi là 'Phan'(g) Thế vậy mà.

/-*+//-*+//-*+/
 
Upvote 0
Upvote 0
Chào bạn,
Code chỉ áp dụng sheet1, cột B , như hình của bạn đó
Góp Vui Tí
Mã:
Sub ThichMinhTUE()
    Dim rng As Range
    Dim cell As Range
    Dim name As String
    Set rng = Range("A1:A100")
    For Each cell In rng
        name = cell.Value
        If Application.WorksheetFunction.CountIf(rng, name) > 1 Then
            If rng.Find(name).Address <> cell.Address Then
                cell.ClearContents
            End If
        End If
    Next cell
End Sub
 
Upvote 0
Góp Vui Tí
Mã:
Sub ThichMinhTUE()
    Dim rng As Range
    Dim cell As Range
    Dim name As String
    Set rng = Range("A1:A100")
    For Each cell In rng
        name = cell.Value
        If Application.WorksheetFunction.CountIf(rng, name) > 1 Then
            If rng.Find(name).Address <> cell.Address Then
                cell.ClearContents
            End If
        End If
    Next cell
End Sub
Bạn đưa ra câu hỏi , rồi có thể giải quyết được là tốt, chúc mừng bạn nhé.
Có điều hình của bài# 1, vấn đề ở cột B, mà code của bạn lại giải quyết vấn đề nằm cột A (và giới hạn A1:A100)
 
Upvote 0
Sáng nay mất hết trên 1 giờ soạn đĩa trái cây cúng thần đoán mò của mình còn linh hiển (phải chi đoán đề được như vậy thì mình cũng ráng bán nhà liều một chuyến):

Nhắc lại bài #12" có đoán rằng cái máy đếm nhịp bị hư.

Chắc chắn cái máy đếm nhịp (metronome) bị hư rồi. Thớt không thể đem nó ra đo 1 nốt nhạc được nữa. :p
 
Upvote 0
Web KT
Back
Top Bottom