我有一行代碼在調試時完美運行,但在完全執行時一直崩潰。實質上,它應該做的是組合兩行數據。我這樣做是因爲我從數據庫導入數據,在該數據庫中,它將事務記錄在兩行中:事務的一側在一行上,而另一側在另一行上,前一列的所有數據都是位於這些行中的任何一行上。因此,例如:代碼在調試時運行良好,但在完全執行期間崩潰
|trans 1 | 1/1/2015| $500.00| 0 |trans 1 |---------| 0| 497.00|
理想情況下,應該像
|trans 1|1/1/2015|500.00|497.00|
第二排應予刪除。
這是我的代碼做到這一點:
Sub Collapse_Rows()
Dim ALLCS As Worksheet
Set ALLCS = Sheets("Asset LLC (Input)")
On Error Resume Next
Application.EnableEvents = False
For x = 66515 To 16 Step -1
If ALLCS.Cells(x, 2) = ALLCS.Cells(x + 1, 2) Then
If ALLCS.Cells(x, 28) <> Empty Then
ALLCS.Cells(x + 1, 28) = ALLCS.Cells(x, 28)
End If
End If
If ALLCS.Cells(x - 1, 2) = ALLCS.Cells(x, 2) Then
If ALLCS.Cells(x, 28) <> Empty Then
ALLCS.Cells(x - 1, 28) = ALLCS.Cells(x, 28)
End If
End If
If ALLCS.Cells(x, 5) <> Empty And ALLCS.Cells(x, 2) = Empty Then
ElseIf ALLCS.Cells(x, 24) = Empty Then
ALLCS.Cells(x, 24).EntireRow.Select
Selection.Delete
End If
Next
End Sub
我部分在調試運行這段代碼和它工作得很好。當我完全運行代碼時,excel崩潰了爲什麼/如何防止這種情況發生的任何想法?
你應該嘗試並添加調試語句(如debug.print)瞭解此時它崩潰 – Xarylem
究竟會是做什麼@Xarylem是 – dom176
ELSEIF在這裏糾正 - * ElseIf ALLCS.Cells(x,24)= Empty然後*或它應該是隻有在? –