新手 VBA:"Sumif" 命令中的 "Object required" 错误

Newbie VBA: "Object required" error in "Sumif" command

VBA 相当新鲜。希望从 Excel 执行简单的 SumIF,但遇到 424 错误 "Object Required"。

我的简单代码如下:

Sub Example1()

Dim TestVar As Long
Set TestVar = Application.WorksheetFunction.SumIf( _
                Arg1:=Sheet1.Range("B2:B11"), _
                Arg2:="1", _
                Arg3:=Sheet1.Range("A2:A11"))

End Sub

这里有错误的还望大家指出

最佳,

ID

后续问题:

For i = 1 To 10

Range("G" & i + 1).Value = Application.WorksheetFunction.SumIfs( _
            Arg1:=Ark1.Range("A2:A11") And Ark1.Range("B2:B11"), _
            Arg2:=Range("A" & i + 1) And "a", _
            Arg3:=Ark1.Range("C2:C11"))

Next i

我收到以下错误消息:运行-time error 13.Type Mismatch

Long 被认为是 VBA 中的一种数据类型,因此您需要编写如下代码:

Sub Example1()

Dim TestVar As Long
TestVar = Application.WorksheetFunction.SumIf( _
                Arg1:=Sheet1.Range("B2:B11"), _
                Arg2:="1", _
                Arg3:=Sheet1.Range("A2:A11"))

End Sub

请注意,我删除了集合

编辑!

这里是一个示例,说明如何将其设置为解析 Arg2 值的方法。

Sub SumArea(ArgTwo As String, ArgTwo2 As String)
    Dim ToSum As Long
    ToSum = Application.WorksheetFunction.SumIf(Arg1:=Sheet1.Range("B2:B11"), Arg2:=ArgTwo AND ArgTwo2, Arg3:=Sheet1.Range("A2:A11"))
End Sub

Sub ThisMethodCallThem()

    SumArea ("1")

    SumArea ("2")


End Sub