我正在尝试在VBA中为excel编写一个允许用户输入一系列单元格的宏。然后,我希望宏总结所有单元格,并将它们输入到单元格R32中。
到目前为止,我附上了我为其编写的代码。当我运行宏时,我可以选择我的单元格范围。
然而,我接收到错误消息run time error 1004- method range of object _Worksheet failed
。这似乎是一个可以快速修复的东西...但我很困难。任何帮助将不胜感激。
Private Sub CommandButton5_Click()
Dim userResponse As Range
On Error Resume Next
Set userResponse = Application.InputBox("select a range with the mouse",Default:=Selection.Address, Type:=8)
On Error GoTo 0
If userResponse Is Nothing Then
MsgBox "Cancel clicked"
Else
MsgBox "You selected " & userResponse.Address
End If
Range("R32").Value = Application.WorksheetFunction.Sum(Range(userResponse))
End Sub
答案 0 :(得分:4)
此处的问题是您使用Range(userResponse)
功能{/ 1}}。
变量Sum
已经是userResponse
,您不需要再将其指定为一个。
尝试使用以下代码行,您会发现它按预期工作:
Range
答案 1 :(得分:2)
如果您在底部的.Address
内添加了Range()
,会发生什么情况,如下所示:
Range("R32").Value = Application.WorksheetFunction.Sum(Range(userResponse.Address))
那会做你想要的吗?