我在如何使用錯誤處理程序方面遇到了一些問題。請參閱下面的代碼。基本上我想找出迭代中每行的空白單元格,如果找到,用黃色(44)給它們着色,並在最後給出一個對話框(我添加一個整數,如果大於1,它返回一個對話框)這是另一個問題如何在錯誤處理期間跳過此內容?所以我使用SpecialCells(xlCellTypeBlanks)來查找空白單元格。所以當沒有空白單元格時,根據上述函數是錯誤的。我不確定我是如何正確使用錯誤處理程序。任何人都可以在這裏提出意見。Excel中的SpecialCell資金的錯誤處理程序VBA
Sub checkblankcells()
Dim i, j, k, error, error1, error2, lastRow, LastCol As Long
Dim item, cntr As String
Dim r As Range
error2 = 0
lastRow = Range("D65000").End(xlUp).row
Application.ScreenUpdating = False
Sheets("Import").Activate
Dim counter As Long
For i = 1 To lastRow
With ActiveSheet
LastCol = .Cells(i, .Columns.Count).End(xlToLeft).Column
End With
Set r = Range(Cells(i, 4), Cells(i, LastCol))
On Error GoTo Check1
r.SpecialCells(xlCellTypeBlanks).Select
Selection.Interior.ColorIndex = 44
error2 = error2 + 1
Check1:
Resume Next
Next
'Deleting the Blank cell Check Numbers at the end of each row.
lastRow = Range("D65000").End(xlUp).row
Application.ScreenUpdating = False
Sheets("Import").Activate
For i = 1 To lastRow
With ActiveSheet
LastCol = .Cells(i, .Columns.Count).End(xlToLeft).Column
End With
Cells(i, LastCol).Select
Selection.Clear
Next
If error2 > 0 Then
MsgBox "Blank Activities in Yellow. Check Schedules", vbCritical, "TIL"
Exit Sub
End If
End Sub
我選擇了你的想法,以保持錯誤處理程序簡單。接下來使用簡歷來填充空白的單元格,如果沒有空白單元格則恢復,不用擔心計算空白單元格的數量。一旦所有的迭代完成。我運行花葯循環來讀取帶有顏色的單元格,然後在條件滿足並報告的情況下放置一個計數器。要回答你的問題是,我希望顏色保持原樣,以便用戶知道他錯過了數據。 – adr0327
對不起,我迷路了。有這種解決方案爲你工作,或者你有一些問題? – Limak