我希望单元格 W4 是范围 C 到 V 的标准差。
一些行将是空的,因此无法计算标准偏差。
我想返回一个空白单元格或更好地删除该行。
For i = 1 to 1000
Range("W4").Cells(i, 1) = Application.WorksheetFunction.IfError(WorksheetFunction.StDev(Range(Range("C4").Cells(i, 1), Range("V4").Cells(i, 1))), "")
Next i
使用以下代码,W 列中的单元格将保持不变,以防 Application.WorksheetFunction.IfError(WorksheetFunction.StDev(Range(Range("C4").Cells(i, 1), Range("V4").Cells(i, 1))), "")
出现错误。
On Error Resume Next
Range("W4").Cells(i, 1) = Application.WorksheetFunction.IfError(WorksheetFunction.StDev(Range(Range("C4").Cells(i, 1), Range("V4").Cells(i, 1))), "")
On Error GoTo 0
如果要确保 W 列中的单元格为空白,可以使用以下代码
On Error Resume Next
Range("W4").Cells(i, 1) = Application.WorksheetFunction.IfError(WorksheetFunction.StDev(Range(Range("C4").Cells(i, 1), Range("V4").Cells(i, 1))), "")
lsterr = Err.Number
On Error GoTo 0
If lsterr > 0 Then
Range("W4").Cells(i, 1).Value = ""
End If
如果你想删除完整的行,你必须像这样调整循环
For i = 1000 To 1 Step -1
On Error Resume Next
Range("W4").Cells(i, 1) = Application.WorksheetFunction.IfError(WorksheetFunction.StDev(Range(Range("C4").Cells(i, 1), Range("V4").Cells(i, 1))), "")
lsterr = Err.Number
On Error GoTo 0
If lsterr > 0 Then
Range("W4").Cells(i, 1).EntireRow.Delete
End If
Next i