VBA - 用0填充空单元格

时间:2016-08-31 10:53:37

标签: excel vba excel-vba

如何用一列中的0填充空单元格?我想我的代码完整但不起作用;(

Sub test()

Dim cell As Range

For Each cell In Range("B2307:B10000")
If Len(cell.Value) = 0 Then
    cell.Value = 0
End If
Next

End Sub

5 个答案:

答案 0 :(得分:6)

如果你真的需要vba,这是一个更好的方法

Sub test()

    On Error Resume Next
    Range("B2307:B10000").SpecialCells(xlCellTypeBlanks) = 0

End Sub

答案 1 :(得分:2)

试试这个:

Sub test()

Dim cell As Range

For Each cell In Range("B2307:B10000")
If Trim(cell.Value) = "" Then
    cell.Value = 0
End If
Next cell

End Sub

答案 2 :(得分:2)

没有VBA:

Goto Special, Blanks
type '0'
Ctrl+Enter

答案 3 :(得分:0)

Sub test()
    Dim cell As Range
    For Each cell In Range("B2307:B10000").Cells
        If Len(cell.Value) = 0 Then
            cell.Value = "0"
        End If
    Next
End Sub

答案 4 :(得分:0)

尽管Rosetta的解决方案对于这个非常特殊的情况(空单元格)是最优雅的,但我认为以下是最通用的,因为您可以通过更改公式轻松地将其调整为更多情况。

set rng = Range("B2307:B10000")
rng.Formula = Application.Evaluate("=IF(ISBLANK(" & rng.Address & "),0," & rng.Address & ")")

记住这种模式,这非常有用!