我试图通过vba程序将动态公式设置如下:
=IFERROR(B9,0)+IFERROR(C9,0)+IFERROR(D9,0)+IFERROR(E9,0)++IFERROR(F9,0)+IFERROR(G9,0)+IFERROR(H9,0)+IFERROR(I9,0)+IFERROR(J9,0)+IFERROR(K9,0)+IFERROR(R9,0)+IFERROR(S9,0)+IFERROR(#REF!,0)+IFERROR(#REF!,0)+IFERROR(#REF!,0)+IFERROR(#REF!,0)+IFERROR(#REF!,0)
我有一个单元格,用于存储公式(F3)中所需的列数。 现在,如果F3中的值是18,我想要完成的是从单元格B9到单元格S9的上述格式的公式(这是19 col,因为我从B开始到F3 + 1)。更容易使用总和,但这不符合我的目的。因为如果N / A范围内的任何单元格(非常可能),则总和不应该是N / A而是其余值的总和。
答案 0 :(得分:0)
试试这个。它将求和并用0
替换错误单元格。这是一个非常简单的循环,因此没有评论。
Sub SumNumwithoutError()
Dim rn As Range
Dim wrn As Range
Dim xSum As Long
On Error Resume Next
xSum = 0
Set wrn = Application.Selection
Set wrn = Application.InputBox("Range", wrn.Address, Type:=8)
For Each rn In wrn
If (IsError(rn.Value)) Then
rn.Value = 0
End If
If Not (IsError(rn.Value)) Then
xSum = xSum + rn.Value
End If
Next
MsgBox xSum
End Sub