VBA Code-Flow Loop à travers la gamme de données

Je suis très nouveau pour VBA et j'ai besoin d'aide. J'ai construit un model d'excel de sortie d'input traditionnel (calculs de arrays dans l'excellence traditionnelle, pas VBA.) J'ai une série de 200 000 points de données pour lesquels je dois tirer une valeur pour les 8 cellules d'une ligne (replace la cellule de la feuille 1 A1 avec valeur de la cellule de valeur Sheet2 B1), tirez le résultat et faites une boucle dans les 200 000 lignes restantes. Y a-t-il quelqu'un qui pourrait me guider en le faisant?

J'ai exécuté une macro avec le code suivant pour refléter le rlocation de la première rangée. J'ai maintenant besoin de faire une boucle dans les autres colonnes:

Sub PermutationResults2() ' ' PermutationResults2 Macro ' ' Sheets("Investments").Select Range("I9").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[20]C[-8]" Range("I10").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[19]C[-8]" Range("I11").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[18]C[-8]" Range("I12").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[17]C[-8]" Range("I13").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[16]C[-8]" Range("I14").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[15]C[-8]" Range("I15").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[14]C[-8]" Range("I16").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[13]C[-8]" Range("I17").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[12]C[-7]" Range("J9").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[20]C[-7]" Range("J10").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[19]C[-7]" Range("J11").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[18]C[-7]" Range("J12").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[17]C[-6]" Range("J13").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[16]C[-6]" Range("J14").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[15]C[-6]" Range("J15").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[14]C[-6]" Range("J16").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[13]C[-6]" Range("J17").Select ActiveCell.FormulaR1C1 = "=' Monte Carlo Data'!R[12]C[-5]" Range("J18").Select End Sub 

entrez la description de l'image ici

Commençons-nous

  Sub Demo Dim r as range dim t as range Set r = Sheets("Investments").Range("I9") 'point to your start cell set t = sheets(" Monte Carlo Data").range("I9") 'pointer to your destination Do Until r = "" 'keep going till you find a blank cell t = r 'copy value in r into t set r = r.offset(1,0) 'move pointer down one set t = t.offset(1,0) 'ditto for the other pointer Loop end sub 

Maintenant, jouez avec ça jusqu'à ce qu'il fasse ce que vous voulez faire