VBA,一些基本的系统常用空值关键字辨析:nothing, empty ,null,以及错误值关键字 error的辨析

 

 一 VBA常用的系统空值关键字:nothing ,empty ,null 

1.1 三者区别

  • empty        有效的空值,如0  "",比较常用
  • null            无效的控制,比如二选一之外的空
  • nothing      对象变量的空值, 语法是  object is nothing  而不是用 =nothing

 

1.2 empty null  nothing 三者的区别

 

1.3 举例 因为range().find() 返回的是 对象,所以得用 is nothing

​
Sub test5032()
Dim a As Range
in1 = InputBox("请输入一个电影名")
Set a = Range("a1:a15").Find(in1)
If a Is Nothing Then
    Range("A" & 1 + Range("a65536").End(xlUp).Row).Value = in1
Else
    MsgBox "内容重复了"
End If
End Sub

​

 

二 VBA常用的系统空值关键字:err

2.1 err相关关键字

  • 常用的报错处理相关的函数
  • iserror()
  • 变量=err , 然后判断 err.number= int

 

2.2 和 false 没啥关系

  • 而 true  false 是一对 bool值
  • false和err没啥关系

 

2.3 err=err.bumber 的具体值

  • 首先,err不是布尔值,并不是err=0  表示没错误, err=1 表示是出错
  • err 其实是 err.number
  • err=0 表示 err.number=0 没出出错
  • err.number有很多出错数字

 

 

2.4 举例

  • 使用查找,匹配函数时,要先进行错误处理
  • 但同时要对错误值和空值有区分,if err=0 
  • 如果需要处理错误值,则要可能要先加一个语句  on error resume next
  • 这里如果判断 if a=err 没啥意义
Sub aa31()
On Error Resume Next
in1 = Int(InputBox("请输入1个要查的数字"))
a = WorksheetFunction.Match(in1, Array(1, 2, 3, 4, 5), 0)

If Err = 0 Then
   Debug.Print a
Else
   Debug.Print "没找到!"
End If
End Sub
 
  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值