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
答案 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