新手VBA:"需要对象" " Sumif"中的错误命令

时间:2016-08-05 07:36:11

标签: vba object required

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

我收到以下错误消息:运行时错误13.键入Mismatch

1 个答案:

答案 0 :(得分:0)

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

请注意,我删除了Set

编辑!

这里要求的是一个示例,说明如何将其设置为解析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