移动范围以在Excel VBA中复制和粘贴

我试图设置一个macros从工作表(1)中select数据,将该数据粘贴到另一个工作表(2)中,然后从工作表(2)中获取结果并将该信息粘贴到工作表(3)中的信息。 我遇到的问题是将范围向下移动到下一组要从工作表(1)复制的数据,以及从工作表(2)的结果粘贴到工作表(3)中的最后一个结果下面的行中。

看起来,我已经尝试过的代码不会移动到新的数据进行复制,并且在复制工作表(2)中的公式的结果之前没有足够的时间通过。 下面是我尝试过的代码不起作用:

Sub COPY_PASTE_MLR_10() Application.ScreenUpdating = False Dim Y As Integer, X As Integer, I As Integer 'COPY DATA TO EQUATIONS For I = 4 To 255 Y = I X = I + 10 Sheets("QDATA").Range("G4:G14").COPY _ Destination:=Sheets("R10").Range("A5") Sheets("QDATA").Range("OI:OI+10").COPY _ Destination:=Sheets("R10").Range("C5") Sheets("QDATA").Range("WI:WI+10").COPY _ Destination:=Sheets("RLR10").Range("D5") Sheets("QDATA").Range("AC4:AC14").COPY _ Destination:=Sheets("R10").Range("E5") Sheets("QDATA").Range("AN4:AN14").COPY _ Destination:=Sheets("R10").Range("F5") Sheets("QDATA").Range("BA4:BA14").COPY _ Destination:=Sheets("R10").Range("G5") Sheets("QDATA").Range("BI4:BI14").COPY _ Destination:=Sheets("R10").Range("H5") Sheets("QDATA").Range("BQ4:BQ4").COPY _ Destination:=Sheets("R10").Range("I5") 'COPY RESULTS TO '10 RESULTS' Sheets("R10").Range("J5:K5").COPY Sheets("10 RESULTS").Range("B2:C2").PasteSpecial Paste:=xlPasteValues Sheets("R10").Range("J6:K6").COPY Sheets("10 RESULTS").Range("D2:E2").PasteSpecial Paste:=xlPasteValues Application.ScreenUpdating = True End Sub 

你有一些循环迭代器variables,但你没有正确使用它们。 尝试这个:

 For I = 4 To 255 Y = I X = I + 10 Sheets("QDATA").Range("G" & Y & ":G" & X).COPY _ Destination:=Sheets("R10").Range("A" & Y+1)