代码执行错误持续

我一直在使用这段代码为ID添加一段时间,而且它总是工作,没有失败。 直到今天,它开始说代码执行已经中断。

Sub AddZeroes() 'Declarations Dim i As Long, j As Long, endrow As Long 'Converts the A column format to Text format Application.ScreenUpdating = False Columns("A:A").Select Selection.NumberFormat = "@" 'finds the bottom most row endrow = ActiveSheet.Range("A1").End(xlDown).Row 'selects the top cell in column A ActiveSheet.Range("A1").Select 'loop to move from cell to cell For i = 1 To endrow - 1 'Moves the cell down 1. Assumes there's a header row so really starts at row 2 ActiveCell.Offset(1, 0).Select 'The Do-While loop keeps adding zeroes to the front of the cell value until it hits a length of 7 Do While Len(ActiveCell.Value) < 7 ActiveCell.Value = "0" & ActiveCell.Value Loop Next i Application.ScreenUpdating = True End Sub 

它总是突出或者

 DO WHILE LEN(ACTIVECELL.VALUE) < 7 

或者它突出了

 LOOP 

这是Excel的一个奇怪的小错误。 当您按CTRL + BREAK停止执行代码时,会发生这种情况。 那应该是什么时候出现的。

有时候如果你用CTRL + BREAK停止执行,它会继续popup。 这是错误。 (有时候会发生,而不是使用CTRL + BREAK ,我想。)

尝试按几次CTRL + BREAK ,尝试closures并重新打开工作簿,请尝试重新启动计算机。

closures文件,制作副本,使用副本,看看是否仍然发生。

如果一切都失败了,你可能不得不制作一个新的工作簿,并复制所有的代码/function。 我听说过这个事件的恐怖故事,最后的build议是唯一的解决办法。

这是没有什么代码是错的。

编辑

我想这也可能是键盘故障。 键盘短路或粘连,Excel正在接收中断命令(从ESC键或BREAK键)。 试试另一台电脑。


这里只是关于你从mehow添加的代码的补充说明

它应该为您提供更好的性能和更清晰的代码。 ( 注意:避免select并改进你的loop的逻辑

 Sub AddZeroes() Application.ScreenUpdating = False Dim lastRow As Long, cell As Range lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row Range("A1:A" & lastRow).NumberFormat = "@" For Each cell In Range("A2:A" & lastRow) If Len(cell) < 7 Then cell = "0" & cell Next i Application.ScreenUpdating = True End Sub