[英]Replace blank cells with 0 for specified range in all worksheets
我想用0中的工作簿中的每個工作表中的指定范圍替換空白單元格。任何幫助將不勝感激。
使用代碼,它可以正常使用當前活動的工作表,但不會在其他工作表中循環。
Sub Zero()
Dim ws As Worksheet
Dim r As Range
Dim cell As Range
For Each ws In Worksheets
Set r = Range("AB37:AQ52")
For Each cell In r
If cell.Value = "" Then cell.Value = 0
Next cell
Next ws
End Sub
你幾乎擁有它,你沒有引用每個工作表,只是你活躍的工作表,你需要使用ws
:
Option Explicit
Sub Zero()
Dim ws As Worksheet
Dim r As Range
For Each ws In ThisWorkbook.Sheets
Set r = ws.Range("AB37:AQ52")
r.Cells.Replace vbNullString, 0, LookAt:=xlWhole
Next ws
End Sub
此外,您不需要循環范圍,只需使用Replace
功能。
如果單元格為空,您可以使用SpecialCells(xlCellTypeBlanks)
:
Option Explicit
Sub ReplaceBlanksWithZeros()
Dim BlankCells As Range
On Error Resume Next
Set BlankCells = Range("AB37:AQ52").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not BlankCells Is Nothing Then
BlankCells.Value = 0
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.