我环顾四周,无法理解问题的核心。
当单步执行以下代码时,我收到错误
无法在中断模式下执行代码
我的工作簿没有任何Worksheet_Change
个事件,或者后台运行的任何其他宏。我已禁用所有可能的易失性函数等。
Sub replace_OPEN()
Dim lastCol&, endRow&, i&
Dim mainWS As Worksheet
Set mainWS = Sheets("Scoring page")
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
With mainWS
For i = 1 To lastCol Step 2
endRow = .Cells(.Rows.Count, i).End(xlUp).Row
For Each cel In .Range(.Cells(2, i), .Cells(endRow, i))
cel.Select
If cel.Value = "[OPEN]" Then ' ERROR POPS UP AT THIS LINE !!!!!!
cel.Select
If cel.Offset(1, 0).Value = "" Then
cel.Value = "[EMPTY]"
cel.Offset(1, 0).Value = "[FILLED IN]"
cel.Offset(0, 1).Value = 0
cel.Offset(1, 1).Value = 3
End If
End If
Next cel
Next i
End With
End Sub
我非常清楚不使用.Select
,但我喜欢在逐步执行宏的过程中使用它,所以我可以在我的工作表上释放整个宏之前仔细检查正确处理的内容。 This thread有点帮助,但同样,我没有任何额外的代码,也没有任何On Error Goto
。
我想,我可以将该信息发送给Debug.Print
,但我很好奇如何追踪Can't Execute...
错误。它可能是Personal.xlsb
宏中的某些东西,因为我还有其他东西......
我甚至按过 CTRL + PAUSE BREAK 几次,因为这在过去是有效的,IIRC。我也非常清楚这个超常见的问题 - 我已经四处寻找故障排除,但是对于其他人来说没有任何效果可以用于此电子表格。
感谢您的任何想法。
编辑:有时它会在第一次运行宏时抛出错误。然后我点击STOP,再次运行,它第一次停止。 ...或相反亦然。不能让它保持一致。
Edit2:更多地考虑这个问题,它是80%+可能是我的Personal.xlsb
,但我没有任何On ____ Change
个宏,所以不会认为这会导致问题。 HM。