VBA提高篇_19 可选参数Optional_ IsMissing _MSgbox
文章目录
- 1. 可选参数Optional
- 2.IsMissing判断参数是否提供,只能判断变体类型
- 3. 使用 := 可以按参数名传递参数 a:=1,c:=3
- 4.Msgbox 常用参数
- 4.1 Msgbox的返回值代码
- 5.VBA颜色常量表
1. 可选参数Optional
Optional 代表本参数是可选项 =False ; 代表参数若不指定,则默认为False
Function mySumProduct(r As Range, Optional useColumn As Boolean = False)
End Function
Function mySumProduct(r As Range, Optional useColumn As Boolean = False)
Dim i&, j&, s&, k&
s = 0
If useColumn Then
For j = 1 To r.Columns.Count
k = 1
For i = 1 To r.Rows.Count
k = k * r.Cells(i, j)
Next i
s = s + k
Next i
Else
For i = 1 To r.Rows.Count
k = 1
For j = 1 To r.Columns.Count
k = k + r.Cells(i, j)
Next j
s = s + k
Next i
mySumProduct = s
End Function
Sub RegxTQ(Optional r, Optional c As Boolean = True)
Dim myReg As Object, Num
Set myReg = CreateObject("VBSCRIPT.REGEXP")
If IsMissing(r) Then r = Range("A" & ActiveCell.Row)
With myReg
.Pattren = "\d+[.]\d+"
.IgnoreCase = True
.Global = True
If c Then Num = .Execute(r)(0) Else Num = .Execute(r)(1)
End With
RegxTQ = Num
End Sub
2.IsMissing判断参数是否提供,只能判断变体类型
3. 使用 := 可以按参数名传递参数 a:=1,c:=3
Sub callDemo()
Dim x
x = myFun(3)
'x = myFun(3, 4)
'x = myFun(3, 4, 5)
'x = myFun(a:=3, c:=1)
End Sub
Function myFun(a, Optional b = 0, Optional c = 0)
myFun = a + b - c
End Function
4.Msgbox 常用参数
Prompt: 第一参数,字符串
Buttons: 第二参数, Msgbox风格代码(可用常量名称,可用风格代码)
Title:第三参数, 对话框标题栏
CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java
普通网友: 阅读这篇博文真是一次愉快的体验!作者的文字真是动人心弦,语言精准而生动。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】
CSDN-Ada助手: 不知道 Python入门 技能树是否可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python
CSDN-Ada助手: 不知道 Python入门 技能树是否可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python