hadoan-pap
Thành viên tiêu biểu
- Tham gia
- 8/7/15
- Bài viết
- 460
- Được thích
- 19
Xóa các giá trị trùng nhau xong lạiđể xóa đi các dòng có giá trị tại cột A trùng nhau
sao đọc khó hiểu thế nhỉ. Kết quả bạn muốn bôi màu vàng. Là những mã xuất hiện > 2 lần mà.chỉ giữ lại các dòng trên cùng đầu tiên mà em có bôi vàng ạ
Dạ vâng tức ở cột A, kiểm tra các dòng có giá trị tại cột A mà giống nhau thì xóa đi các dòng bên dưới, chỉ giữ lại các dòng trên cùng ( tức là đã ghi từ trước vào file rồi ạ )Xóa các giá trị trùng nhau xong lại
sao đọc khó hiểu thế nhỉ. Kết quả bạn muốn bôi màu vàng. Là những mã xuất hiện > 2 lần mà.
Thế bạn muốn khi có đầy đủ dữ liệu rồi mới bấm nút hay là nó sẽ tự động thực hiện khi dữ liệu được đẩy vào cột ADạ vâng tức ở cột A, kiểm tra các dòng có giá trị tại cột A mà giống nhau thì xóa đi các dòng bên dưới, chỉ giữ lại các dòng trên cùng ( tức là đã ghi từ trước vào file rồi ạ )
Vang! có dữ liệu xong mới thực hiện ạThế bạn muốn khi có đầy đủ dữ liệu rồi mới bấm nút hay là nó sẽ tự động thực hiện khi dữ liệu được đẩy vào cột A
Sub XoaDongTrung()
Dim Rng As Range, sRng As Range, dRg As Range
Dim Rws As Long, J As Long
Dim MyAdd As String
Rws = [A2].CurrentRegion.Rows.Count
For J = 1 To Rws
If Cells(J, "A").Value = "" Then Exit For
Set Rng = Cells(J, "A").Offset(1).Resize(Rws)
Set sRng = Rng.Find(Cells(J, "a").Value, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If dRg Is Nothing Then
Set dRg = Rows(sRng.Row & ":" & sRng.Row)
Else
Set dRg = Union(dRg, Rows(sRng.Row & ":" & sRng.Row))
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
If Not dRg Is Nothing Then
dRg.Delete: Set dRg = Nothing
End If
End If
Next J
End Sub
Dạ em cảm ơn ạ!Vậy thủ macro này sau khi đã có dữ liệu:
PHP:Sub XoaDongTrung() Dim Rng As Range, sRng As Range, dRg As Range Dim Rws As Long, J As Long Dim MyAdd As String Rws = [A2].CurrentRegion.Rows.Count For J = 1 To Rws If Cells(J, "A").Value = "" Then Exit For Set Rng = Cells(J, "A").Offset(1).Resize(Rws) Set sRng = Rng.Find(Cells(J, "a").Value, , xlFormulas, xlWhole) If Not sRng Is Nothing Then MyAdd = sRng.Address Do If dRg Is Nothing Then Set dRg = Rows(sRng.Row & ":" & sRng.Row) Else Set dRg = Union(dRg, Rows(sRng.Row & ":" & sRng.Row)) End If Set sRng = Rng.FindNext(sRng) Loop While Not sRng Is Nothing And sRng.Address <> MyAdd If Not dRg Is Nothing Then dRg.Delete: Set dRg = Nothing End If End If Next J End Sub
Dạ dữ liệu mới ghi vào nó ghi lần lượt xuống bên dưới anh ạ. Nên sau khi ghi thì mình check trùng để xóa các dữ liệu mới được ghi vào mà bị trùng ạ,Bút sa gà chết.
Nhập lộn nó xóa cha cái dòng đúng thì làm cách nào chỉnh?
Thì 'Tay làm hàm nhai' thôi; Nhập lại & bấm xóa. . . . . ; Nếu lộn 4 lần thì sẽ bị đuổi việc!. . . . . Nhập lộn nó xóa cha cái dòng đúng thì làm cách nào chỉnh?
1. Thứ tự dòng dữ liệu nhập lại sẽ bị đổi. Từ một vị trí nào đó, bây giờ là vị trí nhập.Thì 'Tay làm hàm nhai' thôi; Nhập lại & bấm xóa. . . . . ; Nếu lộn 4 lần thì sẽ bị đuổi việc!