从定义的循环中复制vba并粘贴到set cell中

时间:2018-06-19 06:34:00

标签: vba loops

我正在处理越来越多场景的商业案例,我可以在场景管理器中完成所有这些但是现在不方便。

我尝试做的是以下内容:我已经获得了给定方案的名称列表,这些应该粘贴到输入字段,然后运行方案,结果应该是复制到为该方案指定的位置。

目前的代码没有任何问题,但它感觉“迟钝”#39;对我而言,因为我需要为每个场景制作不同的代码块:

    Sheets("Output").Select
Range("G7").Select
ActiveCell.FormulaR1C1 = "All stores"
Sheets("Stuurgroep").Select
Range("N4:N18").Select
Selection.Copy
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Sheets("Output").Select
Range("G7").Select
ActiveCell.FormulaR1C1 = "Quartile 1"
Sheets("Stuurgroep").Select
Range("N4:N18").Select
Selection.Copy
Range("D4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

其中G7是场景的所在地,"所有商店"在这种情况下是第一个场景,N4:N18是该场景的结果,C4是这些结果的位置,下一个场景的结果被粘贴到D4。

我已尝试使用以下代码创建要粘贴到G7中的列表,但它不起作用:

    Set ListScenarios = ActiveWorkbook.Sheets("RefTables").Range("B3:B11")

For Each cell In ListScenarios
Application.CutCopyMode = False
Selection.Copy
Sheets("Output").Select
Range("G7").Select
ActiveSheet.Paste

Sheets("Stuurgroep").Select
Range("N4:N18").Select
Selection.Copy
Call Paste
Next cell

    Sub Paste()

Set Destination = ActiveWorkbook.Sheets("Stuurgroep").Range("C4:K4")
For Each cell In Destination
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Next cell

非常感谢帮助!

0 个答案:

没有答案