簡體   English   中英

移動范圍以在Excel VBA中復制和粘貼

[英]Moving ranges to copy and paste in 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

您有一些循環迭代器變量,但沒有正確使用它們。 嘗試這個:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM