我有一个非常简单的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
这些都不起作用。
谢谢!
答案 0 :(得分:0)
好,有人给了我答案,答案是:
Evaluate("=SUM(if(" & rng1.Address & "> 0," & rng1.Address & "*" & rng2.Address & "))")