Excel VBA循环,循环根据单元格输入运行一定次数

时间:2017-01-26 17:19:59

标签: excel loops variables

我试图根据单元格值运行此宏一定次数,然后复制并粘贴结果,但我需要主动更改每个迭代次数偏移1行的粘贴位置,这样第一次粘贴结果在这个单元格,第二次降低一行等...这里是代码 - 任何帮助都会很棒。谢谢

Range("AQ2:AU2").Select
Selection.Copy
Range("AS255:AW255").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Calculate

我已更新到此

For x = 1 to ActeiveCells("A1").value
y=255
Range("AQ2:AU2").Select
Selection.Copy
Range("AS" & y &:":AW" & Y).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
y = y +1
Calculate

每次宏计算单元格AQ2:AU2得到不同的数字,我想运行100个循环并获得所有这些结果并粘贴到AS&的单元格中。 Y:AW& Y然后在我在单元格A1中说了多少次后停止

好吧让我们从头开始我没有做好解释这是原始代码

Calculate
  Range("AQ2:AU2").Select
    Selection.Copy
    Range("AS255:AW255").Select
    Selection.PasteSpecial Paste:=xlPasteValues
Calculate
Range("AQ2:AU2").Select
Selection.Copy
Range("AS256:AW256").Select
Selection.PasteSpecial Paste:=xlPasteValues, 

我只是不断改变我粘贴的细胞然后重新计算我做了100次迭代并且它有效 - 尽管它很邋and且效率不高我的目标是在计算到之后将结果循环100或500次从单元格AQ2复制:AU2 _这些单元格永远不会更改为单元格AS:AW但行更改所以我保留以前的结果

1 个答案:

答案 0 :(得分:0)

IF语句的 FOR循环怎么样

Sub CopyCode()

    y = sht.Cells(sht.Rows.Count, "AS").End(xlUp).Row +1

    For x = 2 To 100 'change to however often you would like to run the code

         'Trigger for MC simulation would go here
         Range("AS" & y & ":AW" & y).Value = Range("AQ2:AU2").Value
         y = y + 1

    Next x
End Sub