2016-11-23 102 views
0

我试图将值从一个工作簿复制到另一个可变数量的行,由“结束”变量指定。问题是,我在Do While循环的第一行得到了一个下标超出范围的错误。我曾尝试将范围更改为许多不同的值,包括静态值(如“A23”)无济于事。我还能尝试什么?下标超出范围

i = 1 
    If Not i = ending Then 
     Do 
      Worksheets("wsS2").Range("A" & 23 + i).copy 
      Worksheets("wsS1").Range ("A" & 15 + i) 
      i = i + 1 
     Loop While Not i = ending 
    End If 
+0

当循环运行时,您可能没有在活动工作簿中命名为“wsS2”的工作表。此外,循环体的第二行完全没有任何影响。还是你在'.Copy'后切断了下划线? –

+0

你什么时候遇到错误?在循环的第一次迭代中还是之后呢? – FDavidov

+0

@ Mat'sMug我很抱歉,wsS2在代码的前面定义为“原始数据”,而且我确实有一张具有该名称的工作表。至于下划线......是的,我确实切断了它。我会取代它,看看我的作品! –

回答

0

如果WSS2是一个变量,去掉引号。对于wsS1也是如此。 - 共产国际

删除引号就行了!