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

时间:2015-04-28 19:01:00

标签: excel vba excel-vba

我正在尝试设置宏来从工作表(1)中选择数据,将该数据粘贴到另一个工作表(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

1 个答案:

答案 0 :(得分:1)

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

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)