エクセル雑感
素直なプログラミング

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2013年5月以前 最終更新日:2013-02-18

素直なプログラミング


プログラムを作る場合、「可読性」「保守性」等々に気を配る必要がありますが、


まずは、素直なコードを書くことでしょう。


テクニックに走ったりせず、頭に浮かんだ事をそのままコーディングしていく事も重要です。


頭に浮かんだ事が、今の自分のスキルレベルなのですが、


スキルが上がれば、頭に浮かぶ事も、少しずつ変化してきます。


素直なコードと書きましたが、ではどんなことでしょうか。


例として、


「変数Aが0で、変数Bも0の場合は何もしない、それ以外の場合は処理する。」


これをそのまま書けば、

If A = 0 And B = 0 Then
Else
  ・・・処理する
End If


となりますね。


しかしここで、Thenの時に何も記述がないのはおかしい、


ThenとElseを入れ替えた方が良いのでは考える人が多くいます。


その場合は、

If A <>0 Or B <> 0 Then
  ・・・処理する
End If


一見スマートに見えるのですが、頭の思考とは違ったコードになっています。


人間の思考は、否定形になじみません。


「変数Aが0で、変数Bも0の場合は何もしない、それ以外の場合は処理する。」


と考えた頭で、後のプログラムを見ると、一瞬、思考が停止してしまいます。


コードは、短ければ良いというわけではありません。


素直に、考えた事をそのままコードにすることも重要なのです。


さらに、可読性を考慮して、コメントをいれておくのです。


つまり、


If A = 0 And B = 0 Then
  '何もしない

Else
  ・・・処理する
End If


このように記述しておけば、だれが見ても解り易いコードとなるのです。



以上は、あくまで、簡単な例としての話ではありますが、


無理な考えをしない、素直に書いていくということです。


また、たまに玉石混交のコードを見かけます。


素晴らしいコードが書いてあるかと思えば、何だこれはというようなコードがあったり。


おそらく、自身のスキルに見合わないコードを、ネットからコピペして使っているのでしょう。


こういう統一感のないコード程、見づらいものはありません。


自身のスキルで書けるコードを、素直に書いていく、まずはそこからです。





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

エクセルのマクロで何ができるか?

エクセルでは、マクロを使えば、色々な事ができます。自動転記、自動集計… 大量データの処理、手作業なら数時間かかる処理も、数秒で処理できてしまいます。もちろん、単なる事務の合理化だけでなく、本格的な、業務システムも作成可能です。
プログラミングについて
プログラミングをしていると、時に「開けゴマ」みたいなのにぶつかる。確かに扉はひらくのだが、「いったいこれは何だ、特にゴマって何だ」となる。危険のない命令なら別に知らなくても良いだろうが、多少でも危険性のある場合はそんな訳にはいかない。
エクセルの日付のお話
エクセルでの日付の扱いは特別です。では、エクセルでの日付についてのお話です。エクセルでの日付は1900/1/1を1として、そこからの日数になっています。通常、私もこのように説明するのですが、実は、ちょっとからくりがあります。
素直なプログラミング
IF文の整理と論理的思考
論理的思考でIf文を整理することについて、簡単な例で解説していきます。無駄な条件が入っていたり、条件が重複しているプログラム程理解しずらい物はありません。問題です。以下のマクロについて、気が付いたことを指摘して下さい。
エクセルVBAを覚えるには
エクセルのマクロ(VBA)を覚えるには、何が必要か… マクロで何ができるのか、そして、マクロで何を自動化したいのか、そのイメージをしっかりと持つことです。VBAの本を買ってきて、1ページ目から読み始めたとしたら… ほぼ確実に、途中で挫折すると思います。
EXCELマクロを始める時、まず最初にやるべきことは
EXCELマクロを始める時、まず最初にやるべきことは何か 入門書により、いろいろな事がかいてあるかもしれませんが、まず最初にやるべき事は、2007以降なら、「開発」タブを表示する事。そして、VBE(VisualBasicEditor)のオプション変更です。
Excelマクロを書くと言う事は
マクロを書くという事だけを考えれば、英作文に似ています。日本語を英語にする、マクロの場合はVBAコードにすると言う事です。英語もそうですが、マクロでも、この作業を覚えるには、それなりの勉強が必要です。
もしエクセルにマクロ機能がなかったら
私は、Excel4のころからエクセルを使っていますが、もし、エクセルにマクロ機能がなかったら… もし、マクロがVB言語でなかったら… 恐らく、エクセルはここまでは普及しなかったでしょう。マクロVBAあってのエクセルだと思っています。そのマクロ機能を使わないと言う事は、エクセルの機能の半分を使っていない事と同じです。
物事には守るべき順序があります。エクセルにも順序があります。
何をやるにも守るべき事と順序というものがあります。例えば、PCにソフトをインストールする場合は、他のソフトは全て止める。そして、インストール後は、PCを再起動する。ごく小さいソフトで、OSに対して影響のないソフトの場合は、再起動しなくても良いですが。
Excelマクロ実行時のトラブル対処方法
マクロ実行時には、いろいろなトラブルが起こります。マクロを実行後に、あっ、しまった… と思ったら、まずはEscキーを押して、マクロを止めましょう。Ctrl+Pause(Break)でもよいです。被害は最小限に食い止めましょう。


新着記事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」をお願いいたします。
本文下部へ