首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA代码流循环遍历数据范围

VBA代码流循环遍历数据范围
EN

Stack Overflow用户
提问于 2017-07-25 14:56:41
回答 1查看 528关注 0票数 1

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

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

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 21:14:36

让我们开始吧

代码语言:javascript
复制
   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

现在玩它,直到它做你想做的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45296004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档