2017-02-23 63 views
0

这里VBA的Excel代码是我的代码,我试图运行: -擦除一系列错误

Sub EraseRange() 
Dim UserRange As Range 

Set UserRange = Application.InputBox(_ 
    "Range to Erase", _ 
    "Range Erase", _ 
    Selection.Address, _ 
    8) 

UserRange.Clear 
UserRange.Select 
End Sub 

它提高运行时错误: ****运行时错误“424” 必选对象* ***

回答

0

替换您行:

Set UserRange = Application.InputBox(_ 
    "Range to Erase", _ 
    "Range Erase", _ 
    Selection.Address, _ 
    8) 

有了:

Set UserRange = Application.InputBox(Prompt:="Range to Erase", _ 
    Title:="Range Erase", Type:=8) 

注:很少有使用UserRange.Select,一旦你已经通过InputBox

+0

由于选择了它。有效。你能告诉我问题是什么吗? –

+0

@HimanshuSingh当'Application.InputBox'与'Type:= 8'一起使用时,您不需要第三个参数'Selection.Address',它已经声明您希望获得'Range'作为输入。无论如何,'Selection.Address'返回一个'String'而不是'Range' –