新手 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
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