Xóa dòng chứa công thức bằng 0 (1 người xem)

Liên hệ QC

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

langtham113

Thành viên mới
Tham gia
2/12/13
Bài viết
10
Được thích
0
Gửi các anh (chị)!

Như tiêu đề đã nói, mình có đính kèm file ví dụ lên nhờ các anh(chị) xóa những dòng với điều kiện cột B và C đồng thời bằng 0 (0 của công thức tạo ra).

Mong các anh(chị) giúp đỡ.
 

File đính kèm

Gửi các anh (chị)!

Như tiêu đề đã nói, mình có đính kèm file ví dụ lên nhờ các anh(chị) xóa những dòng với điều kiện cột B và C đồng thời bằng 0 (0 của công thức tạo ra).

Mong các anh(chị) giúp đỡ.

Thử dùng code sau code chạy sẽ chuyển thanh value vì vậy muốn giữ lại công thức thì thay đổi vùng copy nếu muốn

[GPECODE=vb]
Sub xoadong()
Dim srange, tmp As Long, i As Long, k As Long
With Sheet1.Range("A6:D" & Range("D65000").End(xlUp).Row)
srange = .Value

For i = 1 To UBound(srange)
tmp = srange(i, 2) + srange(i, 3)
If tmp > 0 Then
k = k + 1
srange(k, 1) = srange(i, 1)
srange(k, 2) = srange(i, 2)
srange(k, 3) = srange(i, 3)
srange(k, 4) = srange(i, 4)
End If
Next
.Clear
.Resize(k, UBound(srange, 2)).Value = srange
End With
End Sub


[/GPECODE]
 
Upvote 0
Gửi nmhung49 và các bạn!

Làm sao để gán lại giá trị nhưng vẫn giữ nguyên format ban đầu của nó được không?
 
Upvote 0
Upvote 0
Thêm 1 tham khảo nè:

PHP:
Sub XoaDong()
Dim sRange, dRng As Range
Dim Tmp As Double, J As Long, W As Long
W = 5
With Sheet1.Range("A6:D" & Range("D65000").End(xlUp).Row)
    sRange = .Value
    For J = 1 To UBound(sRange)
        W = W + 1
        Tmp = sRange(J, 2) + sRange(J, 3)
        If Tmp = 0 Then
            If dRng Is Nothing Then
                Set dRng = Cells(W, "A").EntireRow
            Else
                Set dRng = Union(dRng, Cells(W, "A").EntireRow)
            End If
        End If
    Next
End With
If Not dRng Is Nothing Then
    MsgBox dRng.Rows.Count
    dRng.Delete
End If
End Sub
 
Upvote 0

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

Back
Top Bottom