如何在一列填充0單元格的空單元格?我想我的代碼是完整的,但不能正常工作;(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
如何在一列填充0單元格的空單元格?我想我的代碼是完整的,但不能正常工作;(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
試試這個:
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
我不認爲這種劣勢(從性能角度來看)解決方案應得票。順便說一句。 IsEmpty(cell.Value)也是一個很好用的函數。 :) –
是的,我知道,但我只是想在OP的代碼中做最少量的更改我是懶惰的:p – newguy
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
請編輯更多信息。僅限代碼和「嘗試這個」的答案是不鼓勵的,因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。 – abarisone
沒有VBA:
Goto Special, Blanks
type '0'
Ctrl+Enter
問題是關於VBA。 –
可能想從'選擇B2307:B10000'開始,但肯定是我的首選方法! – pnuts
如果你真的需要VBA爲此,在這裏是更好的方法
Sub test()
On Error Resume Next
Range("B2307:B10000").SpecialCells(xlCellTypeBlanks) = 0
End Sub
儘管Rosetta的解決方案是這個非常特殊情況下最優雅的解決方案(空單元格),但我認爲以下方法是最通用的,因爲您可以通過更改公式來輕鬆地將其調整爲更多情況。
set rng = Range("B2307:B10000")
rng.Formula = Application.Evaluate("=IF(ISBLANK(" & rng.Address & "),0," & rng.Address & ")")
請記住這個模式,這非常有用!
你真的需要VBA嗎? – pnuts
@pnuts很好,你知道,有時你想自動化的東西... –