我正在尝试使用 VBA 读取一系列单元格并将它们存储在一个数组中,然后我要将数组中的所有空白单元格更改为 0。但是,我不断收到越界错误这就是我到目前为止。
PercentComplete = Range("E3:E149").Value
For i = 1 To 147
If IsEmpty(PercentComplete(i)) Then
PercentComplete(i) = 0
End If
Next i
Run Code Online (Sandbox Code Playgroud)
请试试这个方法。它不涉及任何迭代:
Dim sh As Worksheet, rngBlk As Range
Set sh = ActiveSheet 'use here your necessary sheet
If WorksheetFunction.CountA(sh.Range("A1:I25")) < sh.Range("A1:I25").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
Run Code Online (Sandbox Code Playgroud)
或者,在活动工作表上工作,以较短的变体执行所有操作:
If WorksheetFunction.CountA(sh.Range("E3:E149")) < sh.Range("E3:E149").cells.count
Range("E3:E149").SpecialCells(xlCellTypeBlanks).Value = 0
End If
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |