Myネーミングルール
ループのカウンター
| 変数名 | 使い方 |
| i | 一重ループでのイテレーション用 |
| j | 二重ループでの二番目のイテレーション用 |
| k | 三重ループでの三番目のイテレーション用 |
定数
すべて大文字。単語を区切る時は、_で区切る。
(例)
Const TAX_RATE = 0.8
変数名の付け方の例
アッパーキャメルケース
先頭は大文字、区切り文字は大文字
ローワーキャメル
先頭は小文字、区切り文字は小文字
スネークケース
単語と単語の間を"_"で区切る
定数
大文字のスケークケースで指定される場合が多い
MAX_NUMBER など
変数の範囲
ローカル変数
プロシージャ内 プロシージャの中で宣言
モジュール(レベル)変数
モジュール内 モジュールの最初の宣言セクションで、Privateなどで宣言
グローバル変数
全モジュール モジュールの最初の宣言セクションで、Public などで宣言
ルール
・変数の宣言時は、型を明示的に指定する(暗黙のVariant 型としない)
・変数の宣言を強制する。Option Explicit を入れる
・ループのカウンターは、IntegerかLongにする。パフォーマンスが良いことが多い
・分岐は、なるべくIF文。Select Case ではない
・文字列が空白(Null)かどうかの判定は、= よりも、LEN(文字列) = 0
パフォーマンスが良いことが多い
・不必要な画面更新をなくす。
Application.SecreenUpdate = False
コメント
1.文法
Rem あるいは「'」 で始まる行は、コメントです。
2.サンプル
Sub Sub1()
Rem コメントです
' コメントです
Debug.Print ("出力されます")
End Sub
識別子のネーミング
1.文法
次のような命名規則がある。
・数字や記号ではじめては、いけない
・アンダースコア以外の記号、空白は利用できない
・長さは、255文字以内
・予約語との重複はダメ
・同じスコープ内での重複利用はできない
VBA 変数宣言の注意
Dim i , j As Long
だと、iは、varient型になる。
iも、Long にしたい場合、
Dim i As Long , j As Long
と宣言する。
デバグ出力
1.文法
Debug.Print (表示内容)
で、イミディエイトウィンドウに表示されます。
2.サンプル
Sub Sub1()
Debug.Print ("イミディエイトウィンドウに表示されます")
End Sub
3.実行
実行すると、イミディエイトウィンドウに
イミディエイトウィンドウに表示されます」
が表示されます。
定数の定義
1.文法
Const
をつけて、変数を定義します。
Const name [ As type ] = value
です。
2.サンプル
Sub Sub1()
'+-- 定数の定義
Const X As Integer = 5
Debug.Print (X)
End Sub3.実行
5
が表示されます。
Is演算子
1.文法
object1 Is object2
で、object1とobject2が、同じオブジェクトを参照しているときは、True 、
そうでないときは、False となる。
Nothing
1.文法
参照設定がなされていない変数の値は、Nothingとなる。
2.サンプル
'+-- 宣言のみで参照なし
Dim c As Collection
Debug.Print (c Is Nothing)
'+-- オブジェクトへの参照
Set c = New Collection
Debug.Print (c Is Nothing)
End Sub
3.実行
True
False
が表示されます。
リファクタリング
(1)メソッドの抽出
(2)コメント
(3)Arrayを、Ojbectにする
(4)マジックナンバーを、コンスタントに置き換える
(5)条件判定を単純にする
(6)ループをコントロールするフラグをなくす
break や return を利用する。
(7)エラーコードでの処理を、例外に置き換える
(8)変数の宣言を必須にする
ブック中のワークシートの数を取得する
1. 文法
Countプロパティを利用する。
2.サンプル
Sub MySub()
Debug.Print Worksheets.Count
End Sub
3.実行結果
シートの数が表示されました。
その他
自動構文チェックをOFFにする
・VBEで、[ツール]-[オプション]-[編集]タグで、ON/OFF切り替えます。
・構文エラーのとき、うっとしい、ダイアログが出ないようにする。
・ただし、構文チェック自体は、動いており、エラーは赤く表示されます。
ワークシートを追加&名前をつける
1.サンプル
Sub Main()
With Worksheets.Add
.Name = "追加されたシート"
End With
End Sub
2.実行
実行すると、「追加されたシート」という名前のシートが追加されます。
0 件のコメント:
コメントを投稿