24小时热门版块排行榜    

查看: 2303  |  回复: 1

zhchh008

金虫 (正式写手)


[交流] excel VBA 控制 aspen plus

在excel控制 aspen plus simulation的时候,想在excel某一单元格循环赋值,然后通过aspen的solver返回计算结果,并把计算结果copy到excel指定栏。
问题是:想用VBA的for语句,循环调用aspen workbook的宏,来执行“运行模型”命令。可是返回的结果全部一样,而且是最后一次赋值后计算所得的结果,之前的被覆盖了。请高手解决这个问题,谢谢。

语句如下:
Option Explicit
Option Base 1

Sub arr()

Dim x As Integer, y As Integer, i As Integer
Dim arr(4, 2) As Double

For x = 1 To 4
    For y = 1 To 2
        arr(x, y) = Cells(x, y + 11) ' 把单元格区域的数据赋值到数组
    Next y
Next x
   
For i = 1 To 4
  
    Cells(2, 2) = arr(i, 1)    ' assign row 1, col i of arr to cells(2,2) ‘把数组的值顺序赋值给
    Cells(3, 2) = arr(i, 2)   ' assign row 2, col i of arr to cells(3,2) ’指定单元格
   
    ASWRunSynchActiveSimulation ‘调用aspen plus进行计算
   
    Cells(i, 13) = Cells(4, 2).Value  ’ 结果赋值到指定列
   
Next i


End Sub

Sub ASWRunSynchActiveSimulation()

Application.Run ("AspenSimulationWorkbook.xla!ASWRunSynchActiveSimulation"

End Sub

[ Last edited by zhchh008 on 2011-11-2 at 07:29 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kukoob

铁杆木虫 (知名作家)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
zhchh008(金币+1): 那是输入错误,用F8测试过,可以正确的将数据赋给指定单元格,谢谢 2011-11-02 07:29:21
臭水沟(金币+1): 谢谢交流~~ 2011-11-02 09:23:00
Cells(2, 2) = arr(i, 1) ' assign row 1, col i of arr to cells(2,2) ‘把数组的值顺序赋值给
    Cells(3, 2) = arr(i, 2) ' assign row 2, col i of arr to cells(2,2) ’指定单元格
这个地方有问题!
2楼2011-11-02 07:19:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhchh008 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见