Do循环
Do While i<10 … Loop
当i小于10时,执行循环
Do Until i<10 … Loop
直到i小于10时,停止循环
Do While cells(i,1)<>""
Do Until cells(i,1)=""
上面是先判断再执行
Do … Loop While i<5
Do… Loop Until i<5
下面这个是先执行再判断
哪个习惯就用哪个,功能可以互相替代
空值问题
理解不透空值,会对一些出错感到无从下手,找不到原因
- 数值型:0
- 字符串:“”
- 变体:empty
- 对象:nothing
- 逻辑类型:Null
- 传参:ismissing
变体类型
Option Explicit
Sub demo()
Dim m
'm可能是0也可能是空字符串
'具体要看应用场景
'但这里微软给了新的数据类型empty
'出现在算术中为0
'用于文本处理为空字符串
If IsEmpty(m) Then
MsgBox "m是empty"
Else
MsgBox "m不是empty"
End If
End Sub
Option Explicit
Sub demo()
Dim m
m = 3
If IsEmpty(m) Then
MsgBox "m是empty"
Else
MsgBox "m不是empty"
End If
End Sub
对象类型
Option Explicit
Sub demo()
Dim w As Worksheet
If w Is Nothing Then
'没有isnothing这个函数
MsgBox "未指定工作表"
Else
MsgBox "指定了工作表"
End If
End Sub
逻辑类型
判断合并单元格,用isNull
一般针对合并单元格来用