VBAの組み込み定数をデータ型として使う
VBAにもデータ型があります。例えば下記のように。
Dim userName As String
Dim i As Long
Dim dueDate As Date
Dim fileExists As Boolean
データ型は宣言しないこともできますが、基本はデータ型を明示するべきで、Variant型は原則使用しないことをお勧めします。
なお、あまりよく知られていないと思うのですが、データ型にはVBAで用意されている組み込み定数(列挙体)もデータ型として利用することが可能です。
Sub sb赤枠四角図形挿入()
Application.ScreenUpdating = False
Call sb赤枠透明図形挿入(msoShapeRectangle) '図形形状:角が丸い四角
Application.ScreenUpdating = True
End Sub
Sub sb赤枠楕円図形挿入()
Application.ScreenUpdating = False
Call sb赤枠透明図形挿入(msoShapeOval) '図形形状:楕円
Application.ScreenUpdating = True
End Sub
Public Sub sb赤枠透明図形挿入(図形形状 As MsoAutoShapeType)
'マニュアル作成作業でよく使用する赤枠・背景透明の図形を挿入する(図形の種類は引数で指定)
With ActiveCell
ActiveSheet.Shapes.AddShape _
(Type:=図形形状, _
Left:=.Left, Top:=.Top, Width:=200, Height:=125).Select
End With
Selection.ShapeRange.Fill.Visible = msoFalse
With Selection.ShapeRange.line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Weight = 5 '太さ
.Transparency = 0.3 '透明度
End With
End Sub
ここでは、MsoAutoShapeTypeというオートシェイプの形状を示す定数をデータ型として利用しています。
データ型としてVBAの組み込み定数(列挙体)を使用することで、Subプロシージャ等を呼び出す際に、引数についてインテリセンスが働き、コードの作成が速くなります。
もしよろしければサポートをお願いします。今後の執筆のかてにします。