2016-11-23 2 views
0

Ich versuche, Werte von einer Arbeitsmappe zu einer anderen für eine variable Anzahl von Zeilen zu kopieren, diktiert durch die Variable "ending". Das Problem ist, ich bekomme einen Index außerhalb des Bereichs Fehler in der ersten Zeile der Do While-Schleife. Ich habe versucht, den Bereich auf viele verschiedene Werte zu ändern, einschließlich statischer (wie "A23"), ohne Erfolg. Was kann ich noch versuchen?Index außerhalb des Bereichs in, während

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

Sie haben wahrscheinlich kein Arbeitsblatt mit dem Namen "wsS2" in der aktiven Arbeitsmappe, wenn die Schleife ausgeführt wird. Auch die zweite Zeile des Schleifenkörpers macht absolut nichts. Oder hast du nach ".Copy" einen Unterstrich abgeschnitten? –

+0

Wann erhalten Sie den Fehler? In der ersten Iteration der Schleife oder danach? – FDavidov

+0

@ Mat'sMug Ich entschuldige mich, wsS2 ist früher im Code als "Rohdaten" definiert, und ich habe ein Blatt mit diesem Namen. was die Unterstreichung betrifft ... ja, ich habe das abgeschnitten. Ich werde es ersetzen und sehen, dass das funktioniert! –

Antwort

0

Wenn WSS2 eine Variable ist, entfernen Sie die Anführungszeichen. Gleiches gilt für WS1. - Komintern

Entfernen der Zitate tut es!

Verwandte Themen