如下代码所示:
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
发表评论