下面第二行代码抛出了上述错误:
Dim rng As String
rng = Range(Cells(2, 1), Cells(4000, 302)).Address
* 第302列是固定的,是我必须复制的选择的结束列。
我发现奇怪的是用 255或更低替换302以消除错误并使我的程序能够正常工作。
我不明白的另一件事是;使用立即窗口----在列参数上有255个打印 $ A $ 2:$ IU $ 4000 ,应该如此。但是,用 256 替换 $ 2:$ 4000 ,而我认为应该 $ A $ 2:$ IV $ 4000 。上面的任何数字都会导致相同的错误。
我在这里缺少什么?
答案 0 :(得分:1)
好的,从评论延伸:
对于您的第一个问题,由于您使用Excel< = 2003(来自评论),您的“尾部”列将为IV
,即#256,
因此,您最大的可用列数为256,调用Cells(4000,302)
将超出范围。
对于第二个问题,由于您使用的是Excel< = 2003,因此一行最多只能包含256列,
所以选择A2:IV4000
(第2行到#4000,第1列到#256)实际上等于选择2:4000
(完整行选择,第2行到#4000)和Excel “缩短”那个地址给你。