Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA代码-在数据范围内循环流动_Vba_Excel - Fatal编程技术网

VBA代码-在数据范围内循环流动

VBA代码-在数据范围内循环流动,vba,excel,Vba,Excel,我是VBA新手,需要帮助。我已经建立了一个传统的输入输出excel模型(传统excel中的电子表格计算,而不是VBA)。我有一系列大约200000个数据点,我需要为一行中的8个单元格提取一个值(将表1单元格A1替换为值表2值单元格B1),提取结果,然后循环遍历剩余的200000行。有没有人可以指导我这样做 我用下面的代码运行了一个宏,以反映第一行的替换。我现在需要它在其余的列中循环: Sub PermutationResults2() ' ' PermutationResults2 Macro

我是VBA新手,需要帮助。我已经建立了一个传统的输入输出excel模型(传统excel中的电子表格计算,而不是VBA)。我有一系列大约200000个数据点,我需要为一行中的8个单元格提取一个值(将表1单元格A1替换为值表2值单元格B1),提取结果,然后循环遍历剩余的200000行。有没有人可以指导我这样做

我用下面的代码运行了一个宏,以反映第一行的替换。我现在需要它在其余的列中循环:

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
让我们开始吧

   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
现在玩这个游戏,直到它完成你想做的事情

让我们开始吧

   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

现在继续玩,直到它完成你想做的事情

你能分享一些示例数据吗?旁注:我不建议阅读和遵循关于如何避免使用Select和ActiveCell的部分。@progsnob我刚刚添加了一个包含数据的图像。基本上,如果您可以想象获取这些数据并用列出的值替换单独的单元格值(大约有200000行)。然后在另一张纸上,返回ROE。我需要更换细胞,然后继续到下一排,再次拉动鱼卵环。这有意义吗?@Rachelan看起来你也在颠倒数据的顺序,这是你想要的吗?你能分享一些样本数据吗?旁注:我不建议阅读和遵循特别是关于如何避免使用Select和ActiveCell的部分。@progsnob我刚刚添加了一个包含数据的图像。基本上,如果您可以想象获取这些数据并用列出的值替换单独的单元格值(大约有200000行)。然后在另一张纸上,返回ROE。我需要更换细胞,然后继续到下一排,再次拉动鱼卵环。这有意义吗?@Rachelan看起来你也在颠倒数据的顺序,这是你想要的吗?