我开发了一个快速的小代码来帮助我对excel工具上的大量数据进行排序,它的工作非常完美,除了一个微小的细节破坏了我所有的工作。
我的表是宽的500+列,我的算法希望一次复制和粘贴两行(我使用融合单元格,不希望使用替代方法)。然后,我的算法尝试这样做:
Rows(i & ":" & i + 1).Cut
Rows(j & ":" & j + 1).Select
Selection.Insert shift:=xlDownI和j是行索引(我试图将行j和j+1放在第一行和行i+1的下方)。
这告诉我excel不能处理当前的资源。我试着减少细胞数量,比如
range(cells(i,bc),cells(i+1,ec)).cut
range(cells(j,bc),cells(j+1,ec)).select
Selection.Insert shift:=xlDownbc是我选择的第一栏,ec是最后一栏。
但是我仍然有同样的问题(选择500到510列,所以在1k单元格附近)。
,下面是一个问题:
有没有办法绕过这个错误,强制剪切/粘贴?(我希望避免一次更改x列,减缓已经相当慢的进程)
或者改变行的索引或者类似我不知道的东西?
谢谢你的时间和未来的答案。PEagle
发布于 2017-01-04 10:40:28
对不起,我的问题现在已经过时了。
我重新整理了该文件,注意到由于一个我不知道的原因,该文件包含了直到工作表末尾的所有行(1+百万)。我已经删除了不必要的行(重新创建的文件),它现在工作良好。
很抱歉你失去了时间,谢谢你帮助我。回头见。
发布于 2016-12-29 11:20:38
这不是答案,只是太长,不能作为评论。
我刚刚运行了下面的代码(每行有700列数据),可以很好地剪切>>粘贴,而不会出现错误。
Option Explicit
Sub CopyFullTwoRows()
Dim i As Long, j As Long
' just for simulation
i = 2
j = 10
Rows(i & ":" & i + 1).Cut
Rows(j & ":" & j + 1).Insert Shift:=xlDown
End Sub发布于 2017-01-02 08:16:23
对不起,我还没有得到评论特权,以下是对您的评论/回答的答复:
我的文件大约有6300 My。对于其他程序,一般只使用outlook和firefox,但是工作中的计算机并不是很强大。关于合并后的单元格的扁平化和排序,问题是我需要进行排序,但只需要在偶数行上进行排序。
因为这是一个工作文件,我不能在网上发送,但是为了给你一个想法,我有两行一起工作,B到F列被合并(B8+B9,B10+B11等,然后C8+C9等等)。然后我对每一行都有两行数据。合并会导致空单元格弹出,然后排序会破坏整个表。
https://stackoverflow.com/questions/41378382
复制相似问题