这个简单的宏会在178次迭代后发生错误28消息而停止。我怎样才能绕过这个问题,让宏继续运行?我已经尝试了很多来自论坛的建议,但都没有成功。我使用Excel 2007中 d哈奇比尔托芬NL如何解决vba中的堆栈溢出错误28 Excel中
Sub Macro1()
' Macro1 Macro
' Keyboard Shortcut: Ctrl+a
ActiveCell.Range("A1:B1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 0).Range("A1:B1").Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Range("A1").Select
Application.Run "Macro1"
End Sub
为什么不尝试调试呢? –
这可能是一个调用堆栈问题。宏一次又一次地调用自己,没有遇到退出或返回。我可以想象这个调用堆栈的大小是有限的。丑陋的代码。 –
宏启动时第一个“ActiveCell”是什么?它是否始终是当前选定的单元格?你想要一个粘贴和一个粘贴特殊值,还是应该是一个或另一个?什么阻止宏?它看起来处于无限循环(直到它耗尽行和崩溃)。 – Jeeped