excel - VBA循环将100个单独的行一次复制到一行以运行求解器
问题描述
我正在尝试编写一个宏,它将从 100 行(每行 9 个单元格)的列表中复制到一行中,然后在其上运行求解器,然后将值复制到工作簿中的另一个位置。
下面的代码适用于一行,但我在网上找到的所有内容似乎都是用于粘贴连续行,而不是复制它们并将它们粘贴到要操作的同一行中。
任何帮助将不胜感激。
谢谢
Sub SolverTrial()
Range("B30:J30").Copy Range("O9")
SolverReset
SolverOk SetCell:="$AC$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$AA$2:$AB$2", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverOptions Assumenonneg:=False
SolverSolve (True)
Range("AA2:AC2").Copy
Range("N30").PasteSpecial Paste:=xlPasteValues
End Sub
解决方案
这应该有效:
Sub SolverTrial()
Dim rw As Range, ws As Worksheet
Set ws = ActiveSheet
For Each rw In ws.Range("B30:J129").Rows
rw.Copy ws.Range("O9")
SolverReset
SolverOk SetCell:="$AC$2", MaxMinVal:=2, ValueOf:=0, _
ByChange:="$AA$2:$AB$2", Engine:=1, _
EngineDesc:="GRG Nonlinear"
SolverOptions Assumenonneg:=False
SolverSolve True
'ws.Range("AA2:AC2").Copy rw.EntireRow.Columns("N")
rw.EntireRow.Columns("N").Resize(1, 3).value = ws.Range("AA2:AC2").Value
Next rw
End Sub
推荐阅读
- apache-curator - 馆长 LeaderLatch EOFException 关闭
- json - 从 Get 到 Interface 的 Angular Map 对象
- php - 文件夹控制器创建为空
- javascript - 角度的FabricJS自定义过滤器
- flask - rabbitmq Pika 连接频繁断开
- r - 如果日期匹配,则将来自不同数据帧的列相乘
- c++ - 指定基类方法模板类型 (c++)
- python - 将 NxN 矩阵中的值分组为 N/2 x N/2 矩阵
- c++ - operator-> 有什么特别之处,它是如何工作的?
- python - 通过 xpath 查找元素,其中 xpath 具有变量