我已经开发了一个快速的小代码来帮助我在excel工具上对大量数据进行排序,它完美地工作,除了一个细微的细节破坏了我迄今为止的所有工作。
我的表格宽500多列,我的算法希望一次复制和粘贴两行(我使用融合的单元格,不希望使用替代方法)。 我的算法然后尝试:
Rows(i & ":" & i + 1).Cut
Rows(j & ":" & j + 1).Select
Selection.Insert shift:=xlDown
i和j是行索引(我尝试将行j和j + 1放在行i和i + 1
之下这告诉我excel不能用当前的资源。 我尝试用
之类的东西来减少细胞数量range(cells(i,bc),cells(i+1,ec)).cut
range(cells(j,bc),cells(j+1,ec)).select
Selection.Insert shift:=xlDown
bc是我选择的第一列,也是最后一列
但我仍有同样的问题(选择在500到510列之间,所以大约1k个单元格)
以下是问题:
有没有办法绕过该错误并强行剪切/粘贴? (我想避免一次更改x列,减慢进程已经很慢)
还是一种改变我不知道的行或类似物的索引的方法?
感谢您的时间和未来的答案。 PEagle
答案 0 :(得分:0)
这不是答案,只是作为评论太久了。
我刚刚运行下面的代码(每行有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
答案 1 :(得分:0)
抱歉,我还没有评论特权,所以这里是你的意见/答案的答案:
我的文件大约是6300KB。 对于其他程序,通常只是outlook和firefox,但工作中的计算机并不是很强大。 关于我合并的单元格的分类然后排序,问题是我需要进行排序,但只能在偶数行上进行排序。
因为它是一个工作中的文件我无法在互联网上发送,但为了给你一个想法,我有两条线在一起工作,B到F列被合并(B8 + B9,B10 + B11等,然后是C8 + C9等)然后我为这些行中的每一行都有两行数据。 取消合并会导致空白单元格弹出,然后排序会弄乱整个表格。
答案 2 :(得分:0)
对不起,我的问题现在已经过时了。
我重复了文件,注意到文件由于我不知道的原因,包括所有行,直到表格结尾(1百万以上)。我删除了不必要的行(重新创建了文件),现在它可以正常工作。
抱歉你失去了时间,谢谢你的帮助。 很快见到你。