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

ExcelマクロVBAとエクセル関数についての私的雑感
最終更新日: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


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



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


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


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


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


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


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


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







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

エクセル関連ツイート
プログラミングについて
エクセルの日付のお話
素直なプログラミング
エクセル関連ツイートNo2
エクセル関連ツイートNo3
エクセル関連ツイートNo4
IF文の整理と論理的思考
エクセルVBAを覚えるには
EXCELマクロを始める時、まず最初にやるべきことは
Excelマクロを書くと言う事は

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

クラスとCallByNameとポリモーフィズム(多態性)|VBA技術解説(4月6日)
VBAでのタイマー処理(SetTimer,OnTime)|VBA技術解説(4月3日)
クラスとイベントとマルチプロセス並列処理|VBA技術解説(4月2日)
エクセルの日付と時刻のまとめ|エクセル関数超技(3月6日)
Excelシートの複雑な計算式を解析するVBA|VBAサンプル集(2月18日)
VBAクラスの作り方:独自Rangeっぽいものを作ってみた|VBA技術解説(2月16日)
VBAクラスの作り方:列名のプロパティを自動作成する|VBA技術解説(2月14日)
VBAクラスの作り方:列名の入力支援と列移動対応|VBA技術解説(2月11日)
クラスを使って他ブックのイベントを補足する|VBA技術解説(2月6日)
Excelアドインの作成と登録について|VBA技術解説(2月3日)

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

1.ひらがな⇔カタカナの変換|エクセル基本操作
2.最終行の取得(End,Rows.Count)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.変数とデータ型(Dim)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.とにかく書いて見よう(Sub,End Sub)|VBA入門
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • >
  • 素直なプログラミング

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


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






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

    本文下部へ