2016-05-17 9 views
0

Ich habe einen benannten Bereich von Postleitzahlen, die ich durch eine Eingabezelle in 12 verschiedenen Szenario-Registerkarten durchlaufen und diese Werte auf eine Registerkarte ausgeben muss. Der Code, den ich jetzt durchlaufen habe, durchläuft den genannten Bereich von Zips, aber nur für ein Szenario und fügt nur in einer Zelle auf der Ausgabe-Registerkarte anstatt in den benötigten 24 Zellen ein.Schleifen eines benannten Wertebereichs durch bestimmte Blätter

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 

Antwort

0

Sie verwenden With, aber nicht die "Verankerung" mit Range("zipcodes') verwenden.

Try this:

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

Danke, aber das hat noch nicht mein Problem zu lösen. Dies fügt die Werte in Zelle C3 immer noch ein. Ich muss sie in Zeile 3 für Szenario 1 einfügen, für Szenario 2 in Zeile 4 einfügen, für Szenario 3 in Zeile 5 einfügen usw. für die 12 Szenarios im Szenario "Tabs. –

Verwandte Themen