excel 如何在VBA中用0替换数组中的黑色值[重复]

xriantvc  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(101)

此问题在此处已有答案

Subscript out of range error with an array - no idea why?(1个答案)
两年前关闭。
我尝试使用VBA读取一系列单元格并将其存储在一个数组中,然后将数组中的所有空白单元格更改为0。然而,我一直得到一个出界的错误这是我到目前为止。

PercentComplete = Range("E3:E149").Value

For i = 1 To 147
    If IsEmpty(PercentComplete(i)) Then
        PercentComplete(i) = 0
    End If
Next i

字符串

4xrmg8kj

4xrmg8kj1#

请往这边走.它不涉及任何迭代:

Dim sh As Worksheet, rngBlk As Range
 
 Set sh = ActiveSheet 'use here your necessary sheet
 If WorksheetFunction.CountA(sh.Range("E3:E149")) < sh.Range("E3:E149").cells.count Then
     Set rngBlk = sh.Range("E3:E149").SpecialCells(xlCellTypeBlanks)
     rngBlk.Value = 0
 Else
    MsgBox "No empty cells in the range to be processed..."
 End If

字符串
或者,在活动工作表上,以更短的变体执行所有操作:

If WorksheetFunction.CountA(sh.Range("E3:E149")) < sh.Range("E3:E149").cells.count
    Range("E3:E149").SpecialCells(xlCellTypeBlanks).Value = 0
End If

相关问题