如下代码所示:
Sub QQ1722187970()
Dim oRng As Range
Set oRng = Application.InputBox("请选择要脱敏的数据区域", "脱敏", , , , , , 8)
End Sub
当弹出对话框后,不选择具体的单元格区域,而是单击“取消”按钮,则会报出类型不匹配的错误。
这是因为,当单击取消按钮后,Application.InputBox返回的值为False,不能赋值给对象变量。
这里提供两种解决办法:
方法一:赋值给Variant类型的变量,然后不用Set语句赋值,代码如下:
Sub QQ1722187970()
Dim oRng As Variant
oRng = Application.InputBox("请选择要脱敏的数据区域", "脱敏", , , , , , 8)
End Sub
方法二:用错误处理语句直接跳过类似错误,代码如下:
Sub QQ1722187970()
On Error GoTo bty
Dim oRng As Range
Set oRng = Application.InputBox("请选择要脱敏的数据区域", "脱敏", , , , , , 8)
Exit Sub
bty:
Err.Clear
End Sub


发表评论