2016-05-17 5 views
0

12個の異なるシナリオタブで入力セルを循環させ、これらの値を出力タブに吐き出す必要がある名前の範囲の郵便番号があります。私は今、zipの名前付き範囲をループしていますが、必要な24個のセル全体ではなく、出力タブの1つのセルで1つのシナリオとペーストのみをループします。特定のシートを使用して名前付き値の範囲をループする

Sub RunAllZips() 

'Take each zip code in the named range ZipCodes and enter into cell C11 
'on each of the 12 Scenario tabs and spit out value onto the Output tab. 

Dim Scenarios, i 


Scenarios = Array("Scenario 1", "Scenario 2", "Scenario 3", "Scenario 4", "Scenario 5", "Scenario 6", _ 
"Scenario 7", "Scenario 8", "Scenario 9", "Scenario 10", "Scenario 11", "Scenario 12") 

For i = LBound(Scenarios) To UBound(Scenarios) 
    With Worksheets(Scenarios(i)) 

     For Each zip In Range("ZipCodes") 
      Sheets("Scenario 1").Select 
      Range("C12").Value = zip 
      Range("Output1").Select 
      Selection.Copy 
      Sheets("Output").Select 
      Range("C3").Select 
      Selection.PasteSpecial Paste:=xlPasteValues 

     Next zip 


    End With 

Next i 

End Sub 

答えて

0

あなたはWithを使用していますが、Range("zipcodes')で "アンカー" を使用しないでください。

はこれを試してみてください:

For i = LBound(Scenarios) To UBound(Scenarios) 
    With Worksheets(Scenarios(i)) 
     For Each zip In .Range("ZipCodes") 
      Sheets("Scenario 1").Range("C12").Value = zip 
      Range("Output1").Copy 
      Sheets("Output").Range("C3").PasteSpecial Paste:=xlPasteValues 
     Next zip 
    End With 
Next i 
+0

おかげで、それはまだ私の問題を解決していませんでした。シナリオ1では行3に貼り付け、シナリオ2では4行目をペーストし、シナリオ3では5行目にペーストするなど、シナリオ_シナリオで提示された12のシナリオでは、セルC3の値を貼り付ける必要があります。 "タブ。 –

関連する問題