VBA – заполнение пустой ячейки с помощью 0

как заполнить пустые ячейки 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 

если вам действительно нужна vba для этого, вот лучший способ

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

Попробуй это:

 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 

Без VBA:

 Goto Special, Blanks type '0' Ctrl+Enter 
 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 

Несмотря на то, что решение Rosetta является самым элегантным для этого особого случая (пустые ячейки), я думаю, что следующее наиболее общее, потому что вы можете легко настроить его на большее количество ситуаций, изменив формулу.

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

Помните этот шаблон, это так полезно!

Давайте будем гением компьютера.