我有一个工作簿(计算工作簿),它根据少量输入(例如X, Y和Z)进行大量计算,并吐出结果a和b。
我有另一个工作簿(数据工作簿)充满了数百万行数据。我想从此工作簿中的每一行取X、Y和Z,将它们插入计算工作簿,以便计算A和B,然后自动从计算工作簿中将A和B拉回数据工作簿。
我意识到这个操作可能需要很长时间,但它仍然比手动操作容易,并且我总是可以在以后将其细化为更少的行。
有一个简单的方法,这通过VBA?
感谢请注意上面的评论-你在这里已经很长时间了,知道你在发布之前应该投入一些工作…
那就是说,这应该是你开始。
Sub Tester()
Dim wsData As Worksheet, wsCalcs As Worksheet
Dim rw As Range
Set wsData = Workbooks("Data.xlsx").Worksheets("Data")
Set wsCalcs = Workbooks("Calcs.xlsx").Worksheets("Model")
'adjust ranges and addresses to suit...
For Each rw In wsData.Range("A1:E1000").Rows
'populate inputs
wsCalcs.Range("D1").Value = rw.Cells(1).Value
wsCalcs.Range("D2").Value = rw.Cells(2).Value
wsCalcs.Range("D3").Value = rw.Cells(3).Value
wsCalcs.Calculate
DoEvents
'record outputs
rw.Cells(4).Value = wsCalcs.Range("E1").Value
rw.Cells(5).Value = wsCalcs.Range("E2").Value
Next rw
End Sub