0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VBAのプロシージャ名・変数の命名ルールについて

Last updated at Posted at 2024-09-29

基本は日本語で命名する

私が書くVBAコードは、プロシージャ名は基本日本語を利用しています。
理由は「和風スパゲティのレシピ」様の記事(変数を日本語にすればプログラミングが上達する)に影響を受けているためです。

ただし、完全に日本語にすると、Subプロシージャや変数を呼び出ししたいときに、インテリセンスがうまく働かず、不便です。

そのため、プロシージャ名の先頭(Subプロシージャなら先頭に「sb」、Functionプロシージャなら先頭に「zf」)をつけて、インテリセンスで呼び出ししやすいようにしています。
例えば、下記のようにしています。

Excel 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

なお、上記例にはFunctionは含まれませんが、Functionの先頭をzfとしてわざわざzをつけているのは、VBAでは、zで始まるプロパティやメソッドがないため、自分が定義したものが入力候補で絞れるためです。
(このプロシージャ名や変更の先頭に「z」をつけるのは、りゅうりゅうさんが提唱しているz会に影響を受けています。)

とはいえ、必ずしも先頭にzをつける必要はなく、Subプロシージャの先頭をsbをつけているように、「s」単体で始まるメソッドやプロパティは沢山あっても、他の文字と組合せで自分が絞りやすい記名になっていれば問題ないと思います。

同様の記事はnoteにも公開しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?