excel vba countifs 评估

excel vba countifs evaluate

我的求值函数出错。

这段代码 运行正在测试 sheet,所以我知道它应该给我“1”作为答案,但我做不到 运行。

这是代码;

Check1 = Worksheets(Persona).Range("A3:A" & LastRowE3 & "")
Check2 = Worksheets(Persona).Range("J3:J" & LastRowE3 & "")
Ur_Val = "Production_End"


y = Application.Evaluate("=COUNTIFS(" & Check1 & ", " & xu_value & ", " & Check2 & ", " & Ur_Val & ")")

我知道"y"应该等于“1”,但我答不对。

首先声明你的变量:

Dim Check1 as String,Check2 as String,Ur_Val as String,xu_value as String

然后

您想要范围的地址而不仅仅是范围值:

Check1 = Worksheets(Persona).Range("A3:A" & LastRowE3 & "").Address(1,1,,1) Check2 = Worksheets(Persona).Range("J3:J" & LastRowE3 & "").Address(1,1,,1)

并且字符串Ur_Valxu_value需要在最后的公式中被包围在"中,所以我们需要添加它们:

, """ & xu_value & """,

所以:

Dim Check1 as String,Check2 as String,Ur_Val as String,xu_value as String
Dim y as Long
Check1 = Worksheets(Persona).Range("A3:A" & LastRowE3 & "").Address(1,1)
Check2 = Worksheets(Persona).Range("J3:J" & LastRowE3 & "").Address(1,1)
Ur_Val = "Production_End"
xu_value = "SOMETHING_ELSE"


y = Application.Evaluate("=COUNTIFS(" & Check1 & ", """ & xu_value & """, " & Check2 & ", """ & Ur_Val & """)")