エクセル雑感
VBAコーディング規則に関する連ツイ

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2020-08-23 最終更新日:2020-08-23

VBAコーディング規則に関する連ツイ


ツイッターでVBAのコーディング規約(ガイドライン)に関して連続ツイートした時のまとめです。



VBA コーディング規則 ガイドライン
https://twitter.com/yamaoka_ss/status/1297197338729910278


VBAに関しては多くの記事を書いているので、
大抵の事にはどこかのページで多少は触れていると思います。
書いてないのは、コーディング規則のようなものですね。
ネットで散見されますが、どうも納得いかないし、自分なりのものが書けないのです。


例えばInteger型を使うかどうかとか、
私も頻繁には使わないけど時々は使いますよ。
将棋の段・筋、これは1~9なので意図的にIntegerにしました。
またInteger型を返す関数を受け取るならIntegerでしょ。
例えばFreeFileはIntegerですよ。
こういうのを無視してIntegerは使わないとか言われても。


「変数宣言は使用する直前で宣言」とか、
単純にそういう書き方をするから、何も気にせずにブロック内で宣言が出てきてしまう。
ループ内での初期化がどうなるかをきちんと説明しないとダメだし、
第一、Ifの中で初めて出てくる変数はどうするのでしょうか。



要は、これらを全て書いてたら膨大になるから面倒なので書いてない(笑)
といいますか、そういう記事書いちゃうと、今までの記事のコードどうすんだってなりそうで、、、
だから書かない、、、つもり。


そもそもVBAの場合はWEBでのコード公開って特殊なんですよ。
例えば、シート指定にオブジェクト名使ってしまったら、コードだけのコピペでは動かなくなります。
だから、公開コードでは基本的にシート指定にオブジェクト名は使いません。
使うときはちゃんと事情を書いています。


変数名やプロシージャー名も理想論はありますよ。
また、各種省略の是非もありますよ。
でもね、初心者が見た時は、1文字でも少ない方が抵抗が少ないものなんです。
だから、支障の無い範囲で短くしたりする必要があります。
エクセルの神髄


自分がある程度書けるようになると、
そういう初心者の頃のことを忘れて、ああだこうだ言い始める人がでてきますが、
まあ、そういうのは勝手に言ってなさいという事です。
自分なりの判断ができるようになったら、初心者卒業できたのだから勝手にすればよいだけの事です。


思うに、いろいろ言うのは、
「完全に理解した」くらいの人だったりすることが多いきがします。
私は「なにもわからない」ので、自分のわかることだけを書いてます。




同じテーマ「エクセル雑感」の記事

エクセル関連ツイートNo6
エクセル関連で「いいね」の多かったツイート
保護されたブックの非表示シートについて
VBAコーディング規則に関する連ツイ
将棋とプログラミングについて~そこには型がある~
変数を考えることはロジックを考える事
VBA今日のひとこと/VBA今日の教訓 on Twitter
ローカル版エクセルが「Office Scripts」に変わる日
エクセルVBA 段級位 目安
DXってなんだ? ITと何が違うの?
在庫を減らせ!毎日棚卸ししろ!


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ