|
发表于 2016-9-21 11:11
|
显示全部楼层
本楼为最佳答案
vba本身是没有这样限制的,
楼主代码出错原因是使用了非vba方法调用了excel函数index所致,
在vba中一般是尽量避免这样使用的,
因为这样做看似代码简洁了,但运行效率并不高。
3楼和5楼两位老师使用的都是纯vba方法,
效率要比楼主的方法高很多,
因此更不会出现楼主代码的错误提示。
如果数据量大而且很多列需要分别复制其他列,
可使用子过程方法提高代码的可读性。
比如:
- Sub test()
- Inde 1, 7 'A列复制到G列
- Inde "B", "I" 'B列复制到I列
- End Sub
- Sub Inde(x, y)
- Dim e&, arr
- e = Cells(65536, x).End(3).Row
- arr = Range(Cells(1, x), Cells(e, x))
- Cells(1, y).Resize(e) = arr
- End Sub
复制代码 |
评分
-
查看全部评分
|