2016-11-23 103 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也是如此。 - 共產國際

刪除引號就行了!