Xóa dòng có điều kiện (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Nguyễn Xuân Sơn

Thành viên thường trực
Tham gia
23/4/07
Bài viết
343
Được thích
219
Chào cả nhà

Minh có một cột danh sách trong cột đó có nhiều dòng trông, mà mình thì muốn nó liền nhau nhưng xóa thủ công thì lâu lắm vả lại nếu phải làm nhiều báo cáo tương tự thì càng mất thời gian không cẩn thận lại xóa nhầm nữa.
Mình đã viết một đọan mã để chạy. Nhưng khi chạy thì nó không xóa được nhiều dòng trống liền nhau, phải chạy rất nhiều lần.
Vậy mình xin cả nhà chỉ giáo xem đọan mã của mình lỗi ở đâu mà chạy khồng như ý.

Xin cảm ơn cả nhà.
 

File đính kèm

Bạn thủ Code này xem.
Mã:
Sub Button2_Click()
    On Error Resume Next
    Range([a3], [a65536].End(3)).SpecialCells(4).EntireRow.Delete
End Sub
 
Upvote 0
Chào cả nhà

Minh có một cột danh sách trong cột đó có nhiều dòng trông, mà mình thì muốn nó liền nhau nhưng xóa thủ công thì lâu lắm vả lại nếu phải làm nhiều báo cáo tương tự thì càng mất thời gian không cẩn thận lại xóa nhầm nữa.
Mình đã viết một đọan mã để chạy. Nhưng khi chạy thì nó không xóa được nhiều dòng trống liền nhau, phải chạy rất nhiều lần.
Vậy mình xin cả nhà chỉ giáo xem đọan mã của mình lỗi ở đâu mà chạy khồng như ý.

Xin cảm ơn cả nhà.
Code của bạn
Mã:
Sub Button2_Click()
    Dim J, i As Long
    i = Range("A65000").End(xlUp).Row
    J = [MATCH("*",A:A,0)]
    Do While J <= i
        If Cells(J + 1, 1) = "" Then
            Rows(J + 1).Delete
        End If
        J = J + 1
    Loop
End Sub
Bạn sử dụng hàm Match trong VBA để tìm những dòng có dữ liệu và xoá dòng ngay phía sau nó
=> Nếu có 2 dòng trống gần nhau thì code chỉ xoá dòng trống liền kề mà thôi. Đó là lý do.
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom