prettify

2021年4月26日月曜日

VBAのベストプラクティス(Best Practice)

いくつかのサイトに載っていたベストプラクティス

【参考サイト】

http://www.spreadsheet1.com/vba-development-best-practices.html

https://www.automateexcel.com/vba/best-practices/

https://riptutorial.com/excel-vba/topic/1107/vba-best-practices

https://www.microsoft.com/en-us/microsoft-365/blog/2009/03/12/excel-vba-performance-coding-best-practices/

https://bettersolutions.com/vba/macros/best-practices.htm

https://masterofficevba.com/vba-coding-constructs/best-practices-for-excel-vba-code/

 

こうやってリストにしてみると、すごい多いですね😲

  • Option Explicit を宣言する
  • Sub, Function, 変数 は分かりやすい名前を付ける
  • 変数名にはデータ型のプレフィックスを付ける
  • 変数名にVBAの予約語(定数)を使わない
  • ScreenUpdating, Calculation, Events, PageBreaks, DisplayStatusBar は停止する
  • エラーハンドリングする
  • オブジェクト変数はリリースする(ガベージコレクション, メモリリーク対策)
  • Activate や Select はなるべく使わない
  • コピペ処理は使わない
  • シートを保護するときはできるだけ UserInterFaceOnly にする
  • 多くのセルを処理するときは配列を使う
  • 型宣言する(できるだけ Variant を使わない)
  • ワークシート関数を活用する
  • コードを実行する前にコンパイルする
  • レイトバインディングを使う
  • Cell, Range は完全修飾子を使う
  • ActiveCell ActiveSheet はなるべく使わない
  • インデントを入れる
  • 空文字は "" ではなく vbNullString を使う
  • For より For Each を優先して使う
  • With ステートメントを使う
  • コメントを入れる
  • VBAの定数を使う
  • 変数は使用している場所の近くで宣言する
  • 関連する変数は同じ行で宣言する
  • Gotoステートメントは使わない
  • Call は使わない
  • MagicNumber を避ける(Enumを使う)
  • ByVal ByRef の違いに注意する
  • Exit For や Exit Do を使う場合は注意を払う(乱用しない)


中には古い考えなんじゃないかなって思うのもあるけど

基本的には納得できるベストプラクティスですね。

動画のネタになるかな?😅


0 件のコメント:

コメントを投稿

リマインドメール自動送信

お久しぶりです! 1回目のワクチンがほとんど副反応なかったので調子乗ってたら2回目のワクチンで副反応出まくったなんプロです。 約3ヶ月ぶりの動画投稿になっちゃいました😅 いや~、ここまで面倒くさがり屋だと病気なのかな?😆 前回の動画のPowerAutomateやVBScrip...