Xóa ở cột D thế có xóa dữ liệu ở cột E không.Mà bạn đưa kết quả khi xóa lên.Code xong ai biết đúng sai thế nào.Chào Anh/Chị.
Nhờ anh chị viết giúp em code để khi xóa dữ liệu của một ô trong cột D, tham chiếu mã của ô đó ở cột F nếu các ô còn lại ở cột D có cùng mã thì dữ liệu cũng được xóa. Em cảm ơn các anh chị ạ.
Chỉ xóa cột D thôi bạn nhé, mình đã gửi lại file có kết quả rồi. bạn xem giúp mình với nhé.Xóa ở cột D thế có xóa dữ liệu ở cột E không.Mà bạn đưa kết quả khi xóa lên.Code xong ai biết đúng sai thế nào.
Xin lỗi bạn nhé, mình mới gửi lạiFile đâu ta không thấy.
Bài này sau khi có file chắc cũng phải tới bài #10 mới có kết quảFile đâu ta không thấy.
Thử code hên sui.Xin lỗi bạn nhé, mình mới gửi lại
Sub abc()
Dim arr, dic As Object, i As Long, j As Long, dk As String
Set dic = CreateObject("scripting.dictionary")
With Sheets("sheet1")
arr = .Range("D7:F17").Value
For i = 1 To UBound(arr)
dk = arr(i, 3)
If Not dic.exists(dk) Then
dic.Add dk, i
Else
arr(dic.Item(dk), 1) = Empty
arr(i, 1) = Empty
End If
Next i
.Range("D7:F17").Value = arr
End With
Set dic = Nothing
End Sub
Bài 10 cũng chưa xong nhé.Bài này sau khi có file chắc cũng phải tới bài #10 mới có kết quả
Mình thử rồi thấy nó xóa tất cả những ô có trùng nhau, còn để lại ô không có mã trùng. Còn của mình muốn chỉ xóa 1 ô nào đó bất kỳ ở cột D, tham chiếu ô còn lại của cột D có cùng mã ở cột F thì xóa, nếu không cùng mã thì vẫn giữ nguyên. Ví dụ xóa ô D13 tham chiếu ô D13 ở cột F có mã là "A2" thì những ô D8 và D17 có cùng mã "A2" nên bị xóa, các ô còn lại của cột D vẫn để.Thử code hên sui.
Mã:Sub abc() Dim arr, dic As Object, i As Long, j As Long, dk As String Set dic = CreateObject("scripting.dictionary") With Sheets("sheet1") arr = .Range("D7:F17").Value For i = 1 To UBound(arr) dk = arr(i, 3) If Not dic.exists(dk) Then dic.Add dk, i Else arr(dic.Item(dk), 1) = Empty arr(i, 1) = Empty End If Next i .Range("D7:F17").Value = arr End With Set dic = Nothing End Sub
Bài 10 cũng chưa xong nhé.