Làm sao để clear tất cả những cell có kết quả =0 và "" trong 1 sheet thành blank (1 người xem)

Liên hệ QC

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

linhvidai

Thành viên mới
Tham gia
13/11/08
Bài viết
6
Được thích
0
khi mình copy 1 bảng 1000x1000 cell toàn bộ là công thức
sang 1 sheet sử dụng paste specical 123
tuy nhiên các ô công thức bằng "" khi copy sang sheet mới đều không phải blank dùng counta vẫn đếm mặc dù countblank vẫn báo đúng

tìm đủ mọi cách mà không ra
làm sao để slect toàn bộ các ô "" đó để xóa đi!$@!!
Nhờ Các cao thủ ếch seo ra tay
 
Bạn filter rồi xóa thôi!
 
Upvote 0
khi mình copy 1 bảng 1000x1000 cell toàn bộ là công thức
sang 1 sheet sử dụng paste specical 123
tuy nhiên các ô công thức bằng "" khi copy sang sheet mới đều không phải blank dùng counta vẫn đếm mặc dù countblank vẫn báo đúng

tìm đủ mọi cách mà không ra
làm sao để slect toàn bộ các ô "" đó để xóa đi!$@!!
Nhờ Các cao thủ ếch seo ra tay
Bạn nhờ giúp thì cũng cần đàng hoàng ở chữ đậm trên.
Chọn vùng dữ liệu/nhấn F5/chọn Blanks/OK để chọn các cell trống.
 
Upvote 0
Bạn nhờ giúp thì cũng cần đàng hoàng ở chữ đậm trên.
Chọn vùng dữ liệu/nhấn F5/chọn Blanks/OK để chọn các cell trống.
Bạn có chắc không? Bạn hãy chọn 1 vùng sau đó gõ ="" vào từng ô trong đó và dùng cách của bạn xem có chọn được không?

@Chủ topic

Để kiểm tra có chứa công thức không thì bạn dùng
Mã:
Range("H1").[B]HasFormula
[/B]
Hoặc

IsEmpty(Range("A1"))

Việc tiếp theo là kiểm tra có trống hay không để xóa.
 
Upvote 0
Cảm ơn bác đã nhắc nhở, em tìm mãi đau đầu quá không ra nên muốn nói hài hước chút cho nhẹ nhàng thôi
các của bác cũng làm rồi nhưng vấn đề nó không nhận đó là cell blank
em có up lên đây cho các bác xem thực tế có biện pháp nào xử lý nó không
 

File đính kèm

Upvote 0
Vấn đề là filter để xóa sẽ phải làm mấy trăm lần, vì có tất cả mấy trăm cột Nếu bác có hàm VBA nào làm việc này thì tốt
 
Upvote 0
Vấn đề là filter để xóa sẽ phải làm mấy trăm lần, vì có tất cả mấy trăm cột Nếu bác có hàm VBA nào làm việc này thì tốt

Bạn thử chèn đoạn sau vào 1 module rồi RUN:
PHP:
Sub blak()
Application.Calculation = xlCalculationManual
Dim cll As Range, rng As Range
Set rng = Sheet5.Range("G5:GD1500")
For Each cll In rng
    If Len(cll) = 0 Then cll.FormulaR1C1 = ""
Next
Application.Calculation = xlCalculationAutomatic
End Sub
p/s: Máy tính tôi cùi chạy hết 134 (s) mới xong. ẹc ẹc
 
Upvote 0
khi mình copy 1 bảng 1000x1000 cell toàn bộ là công thức
sang 1 sheet sử dụng paste specical 123
tuy nhiên các ô công thức bằng "" khi copy sang sheet mới đều không phải blank dùng counta vẫn đếm mặc dù countblank vẫn báo đúng

tìm đủ mọi cách mà không ra
làm sao để slect toàn bộ các ô "" đó để xóa đi!$@!!
Nhờ Các cao thủ ếch seo ra tay
PHP:
Sub blak()
Application.Calculation = xlCalculationManual
Dim cll As Range, Rng As Range, I As Long, J As Long, Sarr
Set Rng = Sheet5.Range("G5:GD1500")
Sarr = Rng.Value2
For I = 1 To UBound(Sarr, 1)
    For J = 1 To UBound(Sarr, 2)
        If Rng(I, J).HasFormula And Rng(I, J) = "" Then
             Rng(I, J).FormulaR1C1 = ""
        End If
    Next J
Next I
Set Rng = Nothing
Application.Calculation = xlCalculationAutomatic
End Sub
Vẫn code của bạn befaint, bạn chạy thử xem có được không, vì trong file chả thấy ô nào có công thức và đang ="" để test nên không biết có đúng không?
 
Upvote 0
PHP:
Sub clear()
Dim arr(), DL(), i As Long, j As Long
    arr = Selection
    ReDim DL(1 To UBound(arr), 1 To UBound(arr, 2))
    With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(arr)
        For j = 1 To UBound(arr, 2)
            If arr(i, j) <> 0 Or arr(i, j) <> "" Then
                DL(i, j) = arr(i, j)
            End If
        Next j
    Next i
    End With
    Selection = DL
End Sub
Máy tôi chạy hết 3s, bạn thử xem nha. Chọn vùng cần xử lý rồi chạy ạ. Của bạn từ G5:GD1500
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bác đã nhắc nhở, em tìm mãi đau đầu quá không ra nên muốn nói hài hước chút cho nhẹ nhàng thôi
các của bác cũng làm rồi nhưng vấn đề nó không nhận đó là cell blank
em có up lên đây cho các bác xem thực tế có biện pháp nào xử lý nó không
Bạn thử vầy xem
PHP:
Sub GPE
    With Selection
        .Replace 0, "", 1, , , 0
        .Value = .Value
    end with
End Sub
Dòng 1 xóa số 0
Dòng 2 xóa chuỗi rỗng
Sửa Selection thành vùng tương ứng nếu muốn cố định
 
Upvote 0
PHP:
Sub clear()
Dim arr(), DL(), i As Long, j As Long
    arr = Selection
    ReDim DL(1 To UBound(arr), 1 To UBound(arr, 2))
    With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(arr)
        For j = 1 To UBound(arr, 2)
            If arr(i, j) <> 0 Or arr(i, j) <> "" Then
                DL(i, j) = arr(i, j)
            End If
        Next j
    Next i
    End With
    Selection = DL
End Sub
Máy tôi chạy hết 3s, bạn thử xem nha. Chọn vùng cần xử lý rồi chạy ạ. Của bạn từ G5:GD1500
Cách này nhanh mà chuẩn luôn, cảm ơn bác nhé đúng là cao thủ
mà cách này nghĩa là thế nào nhỉ
xem mà chưa hiểu lắm
 
Upvote 0
Web KT

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

Back
Top Bottom