我有一些代碼停止執行沒有明顯的原因,並沒有產生一個錯誤。這可能是內存問題嗎?它正在操作的工作表有大約1600行,包含大量格式和條件格式,插入行後代碼停止。這裏是它停止的代碼片段:Excel VBA停止沒有錯誤信息
With wsBudget
TotalColumn = .Range("TotalColumn").Column
FormulaColumn = .Range("FormulaColumn").Column
If .Cells(lRow, 1).Interior.Color <> 14408946 Then 'OK to insert
cell.EntireRow.Copy
cell.Resize(RowCount, 1).EntireRow.Insert 'It stops after stepping into this line
.Cells(cell.Row - RowCount, 1).EntireRow.ClearContents
.Cells(cell.Row - RowCount - 1, FormulaColumn).Resize(RowCount + 1, 1).FillDown
.Cells(cell.Row - RowCount - 1, TotalColumn).Resize(RowCount + 1, 1).FillDown
.Cells(cell.Row - RowCount - 1, 1).Resize(RowCount, 1).Interior.Color = RGB(255, 255, 255) 'OK to insert or delete
Else
MsgBox "You must select a cell within a table before inserting a row."
Exit Sub
End If
End With
調查'Exit Sub'是如何工作的,以及它在你的代碼中發生了什麼。我建議逐步執行調試過程 – 2013-06-12 22:59:44
您需要將錯誤處理程序包含到代碼中。如果您已經使用了'在錯誤恢復下一個'然後刪除它。 '改用'On error goto err_location:'並將其路由到標籤。使用'Err'對象可以檢查問題。 – Santosh
也是,而且我不確定它是否有意爲之,但是,對於停止的行以及之前的行的引用不合格。應該是。 (點)在單元格關鍵字前(注意大小寫區別)。 – sous2817