我有大量数据 A4:EW8000+,我想用空白单元格替换包含零的单元格。格式化单元格不是一个选项,因为我需要保留当前格式。我正在寻找用空白单元格替换零的最快方法。
我可以用循环来做到这一点,但它很慢。下面的代码:
Sub clearzero()
Dim rng As Range
For Each rng In Range("A1:EW10000")
If rng.Value = 0 Then
rng.Value = ""
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以在不循环的情况下做到这一点?
我尝试了下面的代码,但它似乎无法正常工作。它会挂起 Excel 一段时间(没有响应),然后它会循环遍历该范围并将每个单元格清空。
Sub RemoveZero()
Dim LastRow As Long
Const StartRow As Long = 2
LastRow = Cells.Find(What:="0", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row
With Range("B:EW")
.Value = Range("B:EW").Value
.Replace "0", "0", xlWhole, , False
On Error Resume Next
.SpecialCells(xlConstants).Value = ""
.SpecialCells(xlFormulas).Value = 0
End With
End Sub
Run Code Online (Sandbox Code Playgroud)