[英]Vba excel blank cells error handling
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
在上面的Sub中,當范圍D2沒有空白單元格時,我在此行中遇到錯誤:
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
或者您可以忽略這樣的錯誤
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.