Code VBA xóa các ô có giá trị là 0

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Văn Toàn 1996

Thành viên hoạt động
Tham gia
5/6/23
Bài viết
102
Được thích
22
Chào các bạn GPE. Mình cần đoạn code VBA để xóa đi các ô có giá trị là 0 ( như hình mô tả ). Nhờ các bạn hỗ trợ. Xin chân thành cảm ơn

1693375485924.png
 
Giải pháp
Bạn thử code VBA sau
Viết bình thường:
Mã:
Sub XoaDuLieu0()
       Dim rng As Range
    
  Range("F3:H1000").Value = Range("B3:D1000").Value
    Set rng = Range("F3:H1000")
    
  
    For Each cell In rng
        If cell.Value = 0 Then
            cell.ClearContents
        End If
    Next cell
End Sub
Bài đã được tự động gộp:

Viết bằng mảng:
Mã:
Sub XoaDuLieu0()
    Dim rng As Range
    Dim data As Variant
    Dim i As Long, j As Long
    
    Range("F3:H10000").Value = Range("B3:D10000").Value
    Set rng = Range("F3:H10000")
    data = rng.Value
 
    For i = LBound(data, 1) To UBound(data, 1)
        For j = LBound(data, 2) To UBound(data, 2)
            If data(i, j) = 0 Then
                data(i, j) = Empty
            End If...
Upvote 0
Bạn thử code VBA sau
Viết bình thường:
Mã:
Sub XoaDuLieu0()
       Dim rng As Range
    
  Range("F3:H1000").Value = Range("B3:D1000").Value
    Set rng = Range("F3:H1000")
    
  
    For Each cell In rng
        If cell.Value = 0 Then
            cell.ClearContents
        End If
    Next cell
End Sub
Bài đã được tự động gộp:

Viết bằng mảng:
Mã:
Sub XoaDuLieu0()
    Dim rng As Range
    Dim data As Variant
    Dim i As Long, j As Long
    
    Range("F3:H10000").Value = Range("B3:D10000").Value
    Set rng = Range("F3:H10000")
    data = rng.Value
 
    For i = LBound(data, 1) To UBound(data, 1)
        For j = LBound(data, 2) To UBound(data, 2)
            If data(i, j) = 0 Then
                data(i, j) = Empty
            End If
        Next j
    Next i
    
    rng.Value = data
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Giải pháp
Upvote 0
...
Thao tác chưa tới 3 giây mà cũng phải code nữa ư?!
Code chỉ bấm, 1/2 giây.
Tiết kiệm được 83% thời gian.
(83% : manhs khóe của người làm thóng kê. Con số gì trông to khủng thì đưa ra. Không cần biết là 2,5 giây cũng đủ cho dân tin gời một texting cho người iu)
 
Upvote 0
Upvote 0
Null làm gì cho khó tính toán,
Vào Option bỏ tick Show a zero in cells that have zero value
1693383012406.png
 
Upvote 0
Chọn vùng ô cần thực hiện
Chuột phải chọn Format Cell... -> Mục Number -> chọn custom nhập [=0]"";General
 
Upvote 0
Ctrl+H
Find What: 0
Replace With: để trống
Enter
Thao tác chưa tới 3 giây mà cũng phải code nữa ư?!
10 còn 1, 100 còn 1, 1 triệu cũng còn 1, 102 còn 12, ...
Ctrl H phải nói rõ là đánh dấu match entire cell contents, hoặc chụp hình đã đánh dấu như bài 3.
 
Upvote 0
Ctrl+H
Find What: 0
Replace With: để trống
Enter
Thao tác chưa tới 3 giây mà cũng phải code nữa ư?!
Thử làm cái này thử xem. Nếu ô Đó có giá trị 1000 thì không phải là 0, mà sau khi
Ctrl+H
Find What: 0
Replace With: để trống
Enter
thì kết quả nó là 1
1693617674271.png
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Chọn vùng ô cần thực hiện
Chuột phải chọn Format Cell... -> Mục Number -> chọn custom nhập [=0]"";General
cái này là định dạng cho mắt không thấy được, nhưng dữ liệu vẫn là số 0 nên không thể áp dụng được. cảm ơn anh
Bài đã được tự động gộp:

Null làm gì cho khó tính toán,
Vào Option bỏ tick Show a zero in cells that have zero value
View attachment 294388
Bạn làm vậy thì không ổn cho lắm, này là để cho mắt không thấy thôi, Nhưng giá trị Value nó vẫn là số ( Len (cell ) = 1 ) . Mình thì Test rất kỷ, Chứ cứ áp dụng thì coi như nát dữ liệu. dù sao cũng cảm ơn bạn
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom