我正在尝试在Excel中的空白单元格中自动输入0和0%值。我在Excel中有一个报告,会自动从SAS填写。保存此报告后,我希望空白单元格在数字列中自动填充为0,在百分比列中自动填充为0%。
宏或VBA代码是什么?
答案 0 :(得分:9)
如果您只想将0添加到空白单元格,有几种方法可以做到这一点 - 这里使用范围A1:D10作为示例。请注意,如果单元格格式为百分比,则“%”会自动附加到0:
Sub test()
Dim cell As Range
For Each cell In Range("A1:D10")
If Len(cell.Value) = 0 Then
cell.Value = 0
End If
Next
End Sub
请注意,如果您在大量单元格上执行此操作(实际上最好始终执行此操作),您需要确保在代码的开头添加Application.ScreenUpdating = False
并{ {1}}最后。这将使它运行得更快。
答案 1 :(得分:4)
如果单元格确实为空(即为空),则有两种方法可以使用SpecialCells
立即填充单元格,手动填充,或使用快速代码避免循环。
David Mcritchie已详细撰写了这篇文章here。
手动路线
F5
...特殊..转到空白0
Ctrl
+ Enter
代码路由
Sub Quickfull()
'reset usedrange
ActiveSheet.UsedRange
On Error Resume Next
ActiveSheet.Cells.SpecialCells(xlBlanks).Value = 0
End Sub