代码执行错误持续存在

时间:2014-03-13 17:47:02

标签: excel vba excel-vba

我一直在使用此代码将ID添加到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

1 个答案:

答案 0 :(得分:5)

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

有时如果你用 CTRL + BREAK 停止执行,它会一直存在并不断弹出。这就是错误。 (有时它不会使用 CTRL + BREAK ,我想。)

尝试多次按 CTRL + BREAK ,尝试关闭并重新打开工作簿,尝试重新启动计算机。

关闭文件,制作副本,使用副本并查看是否仍然存在。

如果所有其他方法都失败了,您可能只需制作一个新工作簿并复制所有代码/功能。我听说过有关这种事情的恐怖故事,最后的建议是唯一的解决办法。

在代码中没有任何错误。

修改

我想这也可能是键盘故障。键盘短路或粘滞,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