VBA 引数が省略された時の 2通りの処理
① 初期値を設定する
Sub Sample10()
Call hiki1("Excel") ①の呼び出し
Call hiki2("VBA") ②の呼び出し
End Sub
Sub hiki1(msg As String, Optional n As Long = 7)
Dim i As Long, buf As String
For i = 1 To n
buf = buf & msg & vbCrLf
Next
MsgBox buf
End Sub
② 省略されたことを調べる IsMissing
Sub hiki2(msg As String, Optional n)
Dim i As Long, buf As String
If IsMissing(n) = True Then n = 10 'IsMissing は引数が省略されていると Trueを返す
For i = 1 To n
buf = buf & msg & vbCrLf
Next
MsgBox buf
End Sub