重新计算(刷新)并将每个结果保存到另一个工作表

时间:2016-08-06 20:45:13

标签: excel vba excel-vba

我是R程序员,但我是第一次尝试VBA。基于一系列随机选择的出生和生存价值,我有一个非常简单的人口预测。我预测了Sheet1中BC4:BC23细胞中1到20年的种群值。每次刷新时,值都会发生变化。我想刷新100次并将每个填充值存储到Sheet2(100列,20个值)。

基于我的互联网搜索,似乎循环和EnableCalculation的组合是一种可行的VBA方法。我尝试了不同的编码方法(Application.EnableEventsCalculateManyTimes等),没有运气。当然这个问题之前已被问过,但我找不到了。任何提示将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

密钥是Application.CalculateFull,因此代码可以是:

Sub CalculateAndSave()
    Dim Ws As Worksheet
    Set Ws = Worksheets(2)
    For i = 1 To 100
        Application.CalculateFull
        Ws.Range(Ws.Cells(4, i), Ws.Cells(23, i)) = Sheets(1).Range("BC4:BC23").Value
    Next i
End Sub