当按"取消",或者直接关闭对话框的时候 函数会返回一个 false,导致 SET 语句出错。
加上错误处理即可。
Dim A As Range
On Error Resume Next '代码出错继续运行下一句代码
Set A = Application.InputBox("请选择号码:", Left:=80, Type:=8)
If Err Then '这句判断是否出错。
MsgBox "您未选择号码,程序将退出。"
End
End If
On Error GoTo 0 '代码出错则中断并提示
X = A.Cells.Row: Y = A.Cells.Column