我已经找了好几个小时的解决办法了,但什么也找不到。我完全是VBA的初学者,我自己也想不出这一点。我想做的是,VBA在一个单元格中输入一个包含从变量中提取的值的公式,然后减去下面所有的单元格。下面的单元格可能会发生变化,这会影响整个值,所以我需要将其保留为动态的。(例如:单元格A1应该如下所示:=500-A2-A3-A4。等)。目前的代码看起来是这样的。到目前为止,它只从变量中输入值。
crnt = Cells(5, "D").Value
Range("E60").Select
ActiveCell.Offset(0, crnt - 1).Activate
rev = ActiveCell.Value
Range("E9").Select
ActiveCell.Offset(0, crnt - 1).Select
ActiveCell.Value = rev
发布于 2018-02-01 04:38:22
你可能想要这个:
InVal = 500 ' input value
Cells("A1").FormulaLocal = "=" & CStr(InVal) & "-A2-A3-A4"
或者在一个循环中
Dim InVal() as Variant
InVal = Range("M60:Z60").Value
For i = LBound(InVal) to UBound(InVal)
Cells(1, i + 1).FormulaLocal = "=" & CStr(Val(InVal(i))) & "-" & Cells(2, i + 1).Address & "-" & Cells(3, i + 1).Address & "-" & Cells(4, i + 1).Address
Next i
您所需要做的就是使用.Address和字符串来编译公式。
https://stackoverflow.com/questions/48543069
复制相似问题