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

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

katylove83

Thành viên hoạt động
Tham gia
22/2/13
Bài viết
166
Được thích
9
chào các anh chị
em muốn xóa dòng trong excel thỏa mản điều kiện khi 2 dòng tiếp theo không có dữ liệu thì xóa hết những dòng này

cám ơn
 

File đính kèm

chào các anh chị
em muốn xóa dòng trong excel thỏa mản điều kiện khi 2 dòng tiếp theo không có dữ liệu thì xóa hết những dòng này

cám ơn
b1 gõ công thức vào
I3=IF(COUNT(F3:G3)=0,TRUE,"")
Sau đó fill xuống
bước 2 chọn cột I và chọn
GOTO SPECIAL -> FORMULAS-> LOGICALS
sau đó nhấn delete row là ok
 
Upvote 0
Thêm 1 tham khảo cho bạn đây:
PHP:
Option Explicit
Sub DeleteRows()
 Dim Rng As Range, Cls As Range, dRg As Range
 
 Set Rng = [f2].Resize([f2].CurrentRegion.Rows.Count).SpecialCells(xlCellTypeBlanks)
 Set dRg = Rows("65500:65500")
 For Each Cls In Rng
    With Cls
        If .Value = "" And .Offset(1).Value = "" And .Offset(, 1).Value = "" And .Offset(1, 1).Value = "" Then
            Set dRg = Union(dRg, Cls.Resize(2).EntireRow)
        End If
    End With
 Next Cls
 dRg.Delete
End Sub
 
Upvote 0
chào các anh chị
em muốn xóa dòng trong excel thỏa mản điều kiện khi 2 dòng tiếp theo không có dữ liệu thì xóa hết những dòng này
cám ơn

Nếu dùng VBA thì bạn thử code này
Mã:
Sub XoaDong()
    With [c3].SpecialCells(5).SpecialCells(4)
        For i = 1 To .Areas.Count
            If .Areas(i).Rows.Count > 1 Then .Areas(i).EntireRow.Delete
        Next
    End With
End Sub
 

File đính kèm

Upvote 0
Nếu dùng VBA thì bạn thử code này
Mã:
Sub XoaDong()
    With [c3].SpecialCells(5).SpecialCells(4)
        For i = 1 To .Areas.Count
            If .Areas(i).Rows.Count > 1 Then .Areas(i).EntireRow.Delete
        Next
    End With
End Sub
cám ơn anh, code của anh ngắn em thích lắm, nhưng mà hình như nó báo lỗi, yêu cầu của bài này là xóa dòng nếu 2 dòng liên tiếp tại cột F và G là đều trống thì xóa 2 dòng này còn các dòng khác vẫn để nguyên
cám ơn

Thêm 1 tham khảo cho bạn đây:
PHP:
Option Explicit
Sub DeleteRows()
 Dim Rng As Range, Cls As Range, dRg As Range
 
 Set Rng = [f2].Resize([f2].CurrentRegion.Rows.Count).SpecialCells(xlCellTypeBlanks)
 Set dRg = Rows("65500:65500")
 For Each Cls In Rng
    With Cls
        If .Value = "" And .Offset(1).Value = "" And .Offset(, 1).Value = "" And .Offset(1, 1).Value = "" Then
            Set dRg = Union(dRg, Cls.Resize(2).EntireRow)
        End If
    End With
 Next Cls
 dRg.Delete
End Sub
cám ơn anh nhìu nhìu
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
cám ơn anh, code của anh ngắn em thích lắm, nhưng mà hình như nó báo lỗi, yêu cầu của bài này là xóa dòng nếu 2 dòng liên tiếp tại cột F và G là đều trống thì xóa 2 dòng này còn các dòng khác vẫn để nguyên
cám ơn

Nó báo lỗi khi:

(1) Có đến hơn 1 vùng cần xóa;

(2) Khi vùng cần xóa có hơn 2 dòng.

Lỗi này có thể dễ khắc fục tạm thời, nhưng như vậy giống như ta ngủ trên quả bom hư!
 
Upvote 0
cám ơn anh, code của anh ngắn em thích lắm, nhưng mà hình như nó báo lỗi, yêu cầu của bài này là xóa dòng nếu 2 dòng liên tiếp tại cột F và G là đều trống thì xóa 2 dòng này còn các dòng khác vẫn để nguyên
cám ơn
cám ơn anh nhìu nhìu

Xin lỗi vì không test kỹ.
Giờ tôi mới hiểu vì sao có 2 dòng trống. Vậy Bạn thay code này thử xem (code không dùng vòng lặp luôn).
Mã:
Sub XoaDong()
    On Error Resume Next
    With [f3].Resize([c65000].End(3).Row, 2)
        .SpecialCells(2).EntireRow.Hidden = True
        .SpecialCells(12).EntireRow.Delete
        .EntireRow.Hidden = False
    End With
End Sub

Thực tế khi gặp trường hợp này tôi thường làm thủ công. Thao tác như mô tả trong code này.
 
Lần chỉnh sửa cuối:
Upvote 0
Xin lỗi vì không test kỹ.
Giờ tôi mới hiểu vì sao có 2 dòng trống. Vậy Bạn thay code này thử xem (code không dùng vòng lặp luôn).
Mã:
Sub XoaDong()
    On Error Resume Next
    With [f3].Resize([c65000].End(3).Row, 2)
        .SpecialCells(2).EntireRow.Hidden = True
        .SpecialCells(12).EntireRow.Delete
        .EntireRow.Hidden = False
    End With
End Sub

Thực tế khi gặp trường hợp này tôi thường làm thủ công. Thao tác như mô tả trong code này.
cám ơn anh em làm ok rùi
 
Upvote 0

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

Back
Top Bottom