簡體   English   中英

為什么在VBA中過濾SumProduct時會出現類型不匹配錯誤?

[英]Why am I getting a Type Mismatch Error when filtering SumProduct in VBA?

我有一個非常簡單的Macro,但是對於我自己的一生,無法弄清楚為什么我會繼續遇到類型不匹配的情況。 我已經嘗試過該公式的其他版本以及相同的問題。

在一個工作表中,我有:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Set Rng2 = Target
Call Sub1

End Sub

在工作簿中,我有一個包含以下內容的模塊:

Option Explicit

Public Rng2 As Range, Rng1 As Range

Sub Sub1()

Set Rng1 = Rng2.Offset(0, -2)

'Debug.Print Evaluate("=SumProduct(--(Rng1 > 0), Rng1, Rng2)")
'Debug.Print [SUM(if(Rng1 > 0, Rng1 * Rng2))]
Debug.Print Application.WorksheetFunction.SumProduct(--(Rng1 > 0), Rng1, Rng2)

End Sub

這些都不起作用。

謝謝!

好的,有人給了我答案,答案是:

Evaluate("=SUM(if(" & rng1.Address & "> 0," & rng1.Address & "*" & rng2.Address & "))")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM