muốn lọc và xóa bớt các giá trị trùng nhau

Liên hệ QC

quanthienhan

Thành viên hoạt động
Tham gia
4/2/07
Bài viết
120
Được thích
3
Em có mảng dữ liệu bên...giờ em muốn lọc và xóa bớt các giá trị trùng nhau, để mỗi giá trị chỉ xuất hiện 1 lần thôi....vì dữ liệu em hay thay đổi ,Em xin code tích hợp vô nút nhấn như bên, để mỗi khi giá trị thay đổi, em chỉ việc ấn vô nút LỌC...thì giá trị mới tự lọc...vùng dữ liệu của Em chỉ khoảng như vậy thôi...Em xin chân thành cảm ơn các Anh Chị nhiều
 

File đính kèm

  • loc.xlsx
    9.9 KB · Đọc: 5
Em có mảng dữ liệu bên...giờ em muốn lọc và xóa bớt các giá trị trùng nhau, để mỗi giá trị chỉ xuất hiện 1 lần thôi....vì dữ liệu em hay thay đổi ,Em xin code tích hợp vô nút nhấn như bên, để mỗi khi giá trị thay đổi, em chỉ việc ấn vô nút LỌC...thì giá trị mới tự lọc...vùng dữ liệu của Em chỉ khoảng như vậy thôi...Em xin chân thành cảm ơn các Anh Chị nhiều

Bạn đã vi phạm điều II.2( Nội quy diễn đàn)
 
có bạn nào đi qua bớt chút thời gian giúp mình code này với...thanks nhiều
 
Bạn muốn có kết quả nào? Kết quả 1 hay kết quả 2 ?
Xin cám ơn bạn nhiều.....ý mình là xóa bớt tất cả giá trị trùng nhau..trong mảng ( a1.i3).chứ không phải một hàng hay 1 cột...thanks bạn..bạn có thể xem lại file cho dễ hiểu hơn được không..
 

File đính kèm

  • loc.xlsx
    10.5 KB · Đọc: 8
Em có mảng dữ liệu bên...giờ em muốn lọc và xóa bớt các giá trị trùng nhau, để mỗi giá trị chỉ xuất hiện 1 lần thôi....vì dữ liệu em hay thay đổi ,Em xin code tích hợp vô nút nhấn như bên, để mỗi khi giá trị thay đổi, em chỉ việc ấn vô nút LỌC...thì giá trị mới tự lọc...vùng dữ liệu của Em chỉ khoảng như vậy thôi...Em xin chân thành cảm ơn các Anh Chị nhiều

Mã:
Public Sub Loc()
Dim DL, Tam(99), kq(1 To 100000, 1 To 9), r As Long, c As Long

DL = Sheet1.Range("A1").CurrentRegion
For r = 1 To UBound(DL)
For c = 1 To UBound(DL, 2)
Tam(DL(r, c)) = DL(r, c)
Next c
Next r
DL = Split(Application.Trim(Join(Tam, " ")), " ")

For c = 0 To UBound(DL)
kq(Int(c / 9) + 1, c Mod 9 + 1) = DL(c)
Next c

Sheet1.Range("A1").End(xlDown).Offset(2).CurrentRegion.ClearContents
Sheet1.Range("A1").End(xlDown).Offset(2).Resize(Int(UBound(DL) / 9) + 1, 9) = kq
End Sub
 

File đính kèm

  • loc.xlsm
    18.1 KB · Đọc: 17
Bạn ngâm cứu cái này nhé
PHP:
Sub quanthienhan()
   
    Dim k As Integer
    For i = 1 To 10
        For j = 1 To 10
            For k = 1 To 10
                If Sheet1.Cells(i, j) <> Sheet1.Cells(k, 10) Then
                    c = Application.WorksheetFunction.CountIf(Sheet1.Range("M1:M20"), Sheet1.Cells(i, j))
                    If c = 0 Then
                        cc = Application.WorksheetFunction.CountA(Sheet1.Range("M1:M20")) + 1
                        With Sheet1
                            .Cells(cc, 13) = Sheet1.Cells(i, j)
                            '.Cells(cc, 14) = Application.WorksheetFunction.CountIf(Sheet1.Range("A1:I10"), Sheet1.Cells(i, j))
                        End With
                    End If
                End If
            Next
        Next
    Next
End Sub
 
Lần chỉnh sửa cuối:
Em xin cám ơn 2 Bác nhiều...ok rồi ạ...Bác phulien1902 có thể cho mình hỏi thêm chút được không..nếu mình muốn giá cần lấy hiện thành 3 hàng ngang như Bác gtri thì mình phải sửa code thế nào vậy..xin cảm ơn rất nhiều...+-+-+-+
 
Web KT
Back
Top Bottom