Excel复制指定行的问题!请教,谢谢!

有一个表格,数据量比较大,有99273行,我想将其中的第1、11、21、31(依次类推)复制出来,即把所有个位为1的行复制出来,目前我这是这样做的,但是貌似由于行数过大,无法实现,请看:
1.插入一行即A行,设置其内容为 if(mod(row(),10)=1,1,""),然后双击单元格右下角,填充整列;
2.对A列进行筛选,为1的选出来,到此为止就把所有个位为1的行选出来了;
3.然后全选,按F5进行定位,定位条件为“可见单元格”,点击确定,这时候问题出来了:报“数据区引用过于复杂,Excel不能创建图表。。。。”的错误。
我验证过了,如果行数不多的话,在筛选后可以顺利利用定位,把所需的行复制出来,但是当行数过大时候就会报上面那个错误的,请问:
有没有办法解决数据量过大时,筛选后,无法对“可见单元格”进行定位,然后复制的问题?或者有不用筛选的办法来复制出我所需要的行呢?
请高手指教,谢谢!
谢谢各位,我先试试各位的方法的!

第1个回答  2011-02-22
理论上说,用函数可以实现。但你的表过大,产生一些未知错误。试试VBA代码,看能否运行完,注意运行时间可能较长。ALT+F11打开VBA窗口,双击左边THISWORKBOOK,在右边窗口粘贴下面的代码,按F5运行。
Sub CopyRow()
n = 1
For i = 1 To 99273
If i Mod 10 = 1 Then
Sheet1.Rows(i).Copy Sheet2.Rows(n)
n = n + 1
End If
Next
End Sub
第2个回答  2011-02-22
在数据区域外空白区域任意单元格输入如下公式
=INDIRECT("r"&(ROW(A1)-1)*10+1&"C"&COLUMN(A1),)
下拉右拉填充到出现0即可。本回答被提问者采纳
第3个回答  2011-02-22
找一空白列,或直接插入A列,在A列如下操作:第一行输入1,9至10行空白,复制1至10行,然后粘贴到A列全部有数据的空格。以A列为主要关键字排序,1、11、21、31等就全部排在一起了,可以复制,粘贴到其他新文件,把原来的文件关闭不保存就可以。
第4个回答  2011-02-22
在A列对应的单元格直接输入1,11,21输入 三个就可以了,然后从1下面那个单元格开始选择至21,拖拉填充复制,你看这样行不行,就是不用你那么复杂的公式了。
第5个回答  2011-02-22
筛选完了之后,选中第一行,crtl+shift+向下的箭头
复制-在新表中粘贴就行了追问

你好,这样的话,还是报那个错误呢!无法复制的。

追答

你中间是不是有合并单元格?

追问

没有的,我试过了,同样的内容,如果选中的行数少到一定的话,就可以操作成功的,貌似只与行数过大有关的。

追答

要么这样,先把原表备份一个,把A列的公式if(mod(row(),10)=1,1,0),完成后选中A列,复制,右键选择性粘贴-数值
全选,数据-排序-主要关键字A列,降序
这样排序后,你要提的行全部排到最上面去了,并且是按照原来的1,11,21行这样排下来的
连续区域再多应该都是没问题的

相似回答