[英]put formula in vba based on cell value
我正在嘗試通過 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)的上述格式的公式。 更容易使用 Sum 但這不會達到我的目的。 因為如果 N/A 范圍內的任何單元格(很有可能),總和不應該是 N/A,而是其余值的總和。
嘗試這個。 它將求和並用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.