【发布时间】:2016-10-26 05:01:13
【问题描述】:
我想在 Excel 单元格中实现以下公式
IF(OR(D12>0,C13=""),"",MAX(SUM($C$12:C13)-$D$9,0))
(一旦应用公式,我应该得到以下结果(公式手动实现):
所以我写了如下简单的宏,但无法实现公式,公式将值返回为“真”
Sub adjustoldbills()
lastRow_sht4 = Sheet4.Range("A" & Rows.Count).End(xlUp).Row
Sheet4.Cells(12, 11) = ""
For i = 1 To lastRow_sht4 - 10
If Sheet4.Cells(11 + i, 1) <> "" Then
'=MAX(SUM($C$12:C15)-$D$9,0)
Sheet4.Cells(12, 4).Formula = "=MAX(SUM($C$12:C" & 12 & ")-$D$9,0)"
Sheet4.Cells(11 + i, 4).Formula = "=(if(or(D" & 11 + i > 0 & ",C" & 12 + i & "=" & Chr(34) & Chr(34) & ")," & Chr(34) & Chr(34) & "," & "MAX(SUM($C$12:C" & 12 & i & ")-$D$9,0)"
End If
Next i
End Sub
通过 vba 宏实现公式后,我得到了错误的结果,如下图所示:
如何实现公式并按预期获取值。
【问题讨论】:
-
你在下面测试过我的答案了吗?
标签: vba excel excel-formula