VBA Xoá dòng chứa ô giá trị =0 nhưng không thay đổi thứ tự dòng chứa giá trị khác 0.

Liên hệ QC

LEHOC

Thành viên chính thức
Tham gia
11/1/17
Bài viết
89
Được thích
0
Em chào các anh/chị!

Em có 1 vấn đề, nhờ các anh/chị cho em gợi code vba cho vấn đề:

Vấn đề: em có 1 cột số lượng, trong cột có những ô giá trị bang 0, em muốn xoá đi các hàng giá của ô có giá trị bang 0 đó nhưng không làm thay đổi thứ tự các ô có giá trị khác 0 (nghĩa là không dung các sort).

Em cảm ơn!
 

File đính kèm

  • Test Del Row Is Zero.xlsm
    28.2 KB · Đọc: 6
Em chào các anh/chị!

Em có 1 vấn đề, nhờ các anh/chị cho em gợi code vba cho vấn đề:

Vấn đề: em có 1 cột số lượng, trong cột có những ô giá trị bang 0, em muốn xoá đi các hàng giá của ô có giá trị bang 0 đó nhưng không làm thay đổi thứ tự các ô có giá trị khác 0 (nghĩa là không dung các sort).

Em cảm ơn!
Bạn viết hơi khó hiểu. Mình đoán là bạn muốn xóa các dòng mà ở cột SL = 0. Làm thử bạn xem file gửi kèm
 

File đính kèm

  • Test Del Row Is Zero.xlsm
    32.7 KB · Đọc: 7
Upvote 0
Em chào các anh/chị!

Em có 1 vấn đề, nhờ các anh/chị cho em gợi code vba cho vấn đề:

Vấn đề: em có 1 cột số lượng, trong cột có những ô giá trị bang 0, em muốn xoá đi các hàng giá của ô có giá trị bang 0 đó nhưng không làm thay đổi thứ tự các ô có giá trị khác 0 (nghĩa là không dung các sort).

Em cảm ơn!
Làm thủ công cũng không mất quá 30s.
  • Tạo cột STT: =ROW(); dán giá trị.
  • Sort cột giá trị.
  • Xóa dòng =0
  • Sort cột STT.
  • Xóa cột STT.
 
Upvote 0
Thêm cách cho bạn:
PHP:
Sub abc()
    Dim i As Long, LR As Long
    LR = Range("A" & Rows.Count).End(xlUp).Row
    For i = LR To 3 Step -1
        If Range("E" & i) = 0 Then
            Range("E" & i).EntireRow.Delete
        End If
    Next i
End Sub

Hoặc:
PHP:
Sub Test()
    With ActiveSheet
        .Range("A3:F3").AutoFilter 5, "-"
        .AutoFilter.Range.Offset(1).EntireRow.Delete
        .AutoFilterMode = False
    End With
End Sub

Hoặc:
PHP:
Sub test3()
    Dim Arr As Variant, i As Long, k As Long, sn As Variant
    Arr = Sheet1.Range("A3").CurrentRegion
    ReDim sn(1 To UBound(Arr), 1 To 6)
    For i = 1 To UBound(Arr)
        If Arr(i, 5) <> 0 Then
            k = k + 1
            sn(k, 1) = Arr(k, 1)
            sn(k, 2) = Arr(i, 2): sn(k, 3) = Arr(i, 3)
            sn(k, 4) = Arr(i, 4): sn(k, 5) = Arr(i, 5): sn(k, 6) = Arr(i, 6)
            If k Then
                With Sheets("tonghop")
                    .Range("A3").Resize(k, 6) = sn
                End With
            End If
        End If
    Next
End Sub
 

File đính kèm

  • Test Del Row Is Zero.xls
    100.5 KB · Đọc: 11
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom