Excel VBA脚本在32768行停止工作

我有一个macros,我已经用了相当长的一段时间来对6个组(Excel 2016)的单元格执行剪切/粘贴/移动操作。 今天,我尝试使用它,迄今为止我曾尝试使用它有近200,000行的最长的工作表。 脚本得到一个操作应该发生在32768行,并在那一点上,我得到一个溢出错误。 昨天晚上我运行这个并发的shell脚本,这对我的CPU造成了很大的压力,但是今天我运行它没有其他的运行,我得到了溢出错误在同一个地方。 导致问题的脚本部分是:

Do Until i > nLastRow cellVolume = i - 1 cellPage = i + 1 cellItem = cellPage + 1 .Range("A" & i).Cut Range("B" & cellVolume) .Range("A" & cellPage).Cut Range("C" & cellVolume) .Range("A" & cellItem).Cut Range("D" & cellVolume) i = i + 6 Loop 

我被初始化为2,在这个特定的工作表nLastRow将是193596。

我刚才在看我的CPU使用情况,在脚本运行的时候它从来没有超过63%,所以它不应该成为一个处理能力的问题。

我可以把这个工作表分成几个部分,但我宁愿让它工作正常。

我的variables设置为:

 Dim i As Long, cellVolume As Integer, cellPage As Integer, cellItem As Integer, j As Integer Dim nLastRow As Long, x As Long Dim str As String 

对于如何解决这个问题,有任何的build议吗?

尝试:

 Dim cellVolume As Long, cellPage As Long, cellItem As Long