簡體   English   中英

在所有工作表中將空白單元格替換為0以指定范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM