三太郎のブログ

「GoGo エクセルマクロをはじめよう!」筆者のブログです。野球は生粋の中日ファンですがサッカーの話題が多いです。

Option Explicit はつけるべきか?(自らハードルを上げないで!)

2010-06-03 | エクセルマクロの講座
にほんブログ村 IT技術ブログへ
 エクセルマクロを始めよう【無料】7日間メールセミナーにご登録を!



Option Explicit とは、



これを先頭につけておくと、使用する変数は予め宣言
しておかなければならない、という制限を設けるための
オプション設定です。


結論から言ってしまうと、

一般のExcelユーザーの人が作るVBAプログラムで
わざわざこのような Option Explicit という
オプションをつける必要は、全くありません!


ネット上には、よく

Option Explicit は必ず付けるべきた!
と言っている人が大勢いますが、

それはあくまで我々プロ(か、それに準ずる
セミプロのレベルの人)の中での話であって、

プログラム作りを本業とはしていない一般の
Excelユーザーの方々が、より早く、より簡単に、
自分のExcel作業を自動化するための目的で
マクロを作りたいという場合に、そんな(標準
ではない)オプションの指定をするのは全く
無意味です。(と言うか、逆効果なだけです。)


そもそも、

より手軽に簡単に、誰でもプログラムが作れるように!
ということで開発された簡易言語であるBasic言語
(VBAのBの部分に当たる)に、

わざわざ自ら要らんオプションルールを科し、
プログラミングのハードルを上げてしまうような
設定をするということ自体、

実にナンセンスとしか言いようのない話だと思います。


素人プログラマーであるならば、(当の製造元のMS社も
一般のOfficeユーザーが手軽に作れるプログラミング環境
としてVBAを提供し、このような設定は標準でなく
わざわざオプション設定としているわけですから、)

VBAはあくまで、少なくとも一般のユーザーレベルで利用
する場合には、本来のベーシックな簡易言語としてとらえ、
その特性を生かしてより手軽なものとして利用するべきだと
思うわけです。



確かに私も、

社内外の技術系社員に対してVBAを教える場合には、
この Option Explicit というオプションは必ず付けなさい!
と教えていますし、

お客様に依頼されてVBAのソフトを製造する場合には、
当然、必ずこのオプションはつけて開発を行っているわけ
なんですが、

自分や社内で使うちょっとした便利ツールをVBAで作る
際には、
いちいち Option Explicit をつけて変数を宣言して・・・
なんて、時間の余計に掛かる作り方はしません。


まぁ要するに、(当講座の中でもよく言っていることですが、)
プロのプログラマーと、プログラム作りが本業ではない素人
のプログラマーとでは、当然、プログラムの作り方というのは
違ってしかるべきなのです。


なのに、

素人プログラマーがプロと同じ作り方の「マネ」をしよう
とするから、(しいては、プロの方も素人に対して自分達
プロのやり方をマネさせようとするからゆえに)
必要以上に難しくなり、失敗し、挫折し、(*_*)...

ということになってしまう初心者が非常に多いわけです。


ベーシックな言語のBasic言語というのは、言うなれば
イージーでアバウトな言語ということですので、
(特別な場合を除いていちいち変数を定義しなくても
よいという仕組みになっているものなので)
それを自らわざわざ余計なオプションを設定して難しくし、
よりハードルを上げてしまう、という理由などまったく
ないわけです。


あなたが、プロのプログラマーを目指しているという人では
ない限り、初心者が自ら不用意にそのハードルを上げるような
オプション設定をしてはなりません!
(もし、プロを目指しているのであれば話は別です。)



私自身にしても、自分で使う便利マクロを作るといった場合には、

(お客さんからの依頼で作る場合の使う変数一つ一つの定義まで
を詳細に行いながら、神経を尖らして作る場合とは違って、)

Option Explicit なんてものをつけないで(変数の定義なんて
いちいちやらなくてよい方法で)、

気楽に、楽しく、アバウト感覚のイージーなVBAマクロの
プログラム作りというのを楽しんでいます。 




         マクロを始めてみたい方へ

【無料】7日間メールセミナー(手軽に始める1日10分のマクロ講座)
「お昼休みに始めよう」プロジェクト参加者登録受付中です!
こちらから→ 「Go! Go! エクセルマクロをはじめよう!」ホーム   







ジャンル:
ウェブログ
コメント (1) |  トラックバック (0) |  この記事についてブログを書く
Messenger この記事をはてなブックマークに追加 mixiチェック シェア
« みんなのマクロ検... | トップ | ExcelVBA Basicの... »

コメント

コメント日が  古い順  |   新しい順
Option Explicit (看護師U)
2012-07-06 10:11:29
完全に同感です。自分だけしか使わないマクロにつける必要はないですよね〜
非常にVBAの勉強になります。ありがとうございます。

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コメント利用規約に同意の上コメント投稿を行ってください。
※文字化け等の原因になりますので、顔文字の利用はお控えください。
下記数字4桁を入力し、投稿ボタンを押してください。この数字を読み取っていただくことで自動化されたプログラムによる投稿でないことを確認させていただいております。
数字4桁

トラックバック

この記事のトラックバック  Ping-URL
ブログ作成者から承認されるまでトラックバックは反映されません。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。

あわせて読む