2

下面的第二行代码抛出上述错误:

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。上面的任何数字都会导致相同的错误。

我在这里想念什么?

4

1 回答 1

1

好吧,从评论延伸:

对于您的第一个问题,由于您使用的是 Excel<=2003(来自评论),因此您的“尾部”列将IV是 #256,

所以你最大的可用列号是 256,调用Cells(4000,302)将超出范围。


对于第二个问题,由于您使用的是 Excel<=2003,因此一行最多只能包含 256 列,

所以选择A2:IV4000(第2行到#4000,列#1到#256)实际上等于选择2:4000(全行选择,第2行到#4000),并且Excel会为您“缩短”该地址。

于 2012-10-12T08:24:34.803 回答