Vba excel空白单元格错误处理
在上面的子部分中,当范围D2没有空白单元格时,我在这一行中得到错误:Vba excel空白单元格错误处理,excel,vba,Excel,Vba,在上面的子部分中,当范围D2没有空白单元格时,我在这一行中得到错误: Sub Remove_Deregistered() With Worksheets("Sheet2") For Each cel In .Range(.Range("D2"), .Range("D2").End(xlDown)) If cel.Value Like "*Deregistered*" Then Worksheets("Sheet3").Range("A" & Rows.Coun
Sub Remove_Deregistered()
With Worksheets("Sheet2")
For Each cel In .Range(.Range("D2"), .Range("D2").End(xlDown))
If cel.Value Like "*Deregistered*" Then
Worksheets("Sheet3").Range("A" & Rows.Count).End(xlUp).Offset(1).Value = cel.Offset(, 10).Value
cel.Resize(1, 1).ClearContents
Worksheets("Sheet3").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = cel.Offset(, 11).Value
cel.Resize(1, 1).ClearContents
End If
Next
Sheet2.Range(.Range("D2"), .Range("G2").End(xlDown).Offset(, -3)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
如何防止此错误?您可以使用一些错误处理代码,例如:
Sheet2.Range(.Range("D2"), .Range("G2").End(xlDown).Offset(, -3)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
或者你可以像这样忽略错误
BeginTry1:
On Error GoTo ErrHandler1
Worksheets("Sheet1").Range(.Range("D2"), _
.Range("G2").End(xlDown).Offset(, -3)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
ErrHandler1:
Debug.Print Err.Description
出错时继续下一步
'您的代码可能会在此处出错
如果错误号为0,则Debug.Print Err.Description“可选”可在VBA即时窗口中打印错误
“错误时转到0”可选择重置错误处理
On Error Resume Next
' your code that might give error here
If Err.Number <> 0 Then Debug.Print Err.Description ' optional to print the error in the VBA Immediate window
On Error GoTo 0 ' optional to reset the error handling