Fujitsu The Possibilities are Infinite

 

  1. ホーム >
  2. 富士通ジャーナル >
  3. 差のつくビジネススキル >
  4. 役立つEXCEL事典 >
  5. VBAの中身に少しだけ触れてみよう

《連載第2弾 少しだけ、マクロを"カジって"みよう》
VBAの中身に少しだけ触れてみよう

「さて、前回は、【図1】の「Module1」を表示させるところまででしたよね。今回は、その内容について少し触れてみます。

【図1】Visual Basic Editor画面

まず、忘れないで下さい。
何やらゴチャゴチャと英語で書かれていますが、所詮は皆さんが 『連載第2回(「マクロ記録」) で行った手順が言葉で書かれているだけのものだ』ということを。そして、そのことを思い出しながら、以下の説明を読んでみてください。[マクロの実行]という指示がされると、コンピュータはここに書かれている内容を、一行ずつ実行をしていくのです。

それでは、ここに何が書かれているのか、順に見てみましょう。

≪1行目≫Sub
手順には、名前を付けておきたいですよね。その名前をコンピュータに教えてあげるのがこの行です。マクロ実行時に、マクロの名前「Macro1」を指定しましたよね。

≪最終行≫End Sub
そして最終行にかかれた、End Sub までがこの手続きの終わりを示す言葉です。
したがって、コンピュータは「Macro1」を実行しなさい!と、指示を受けると、それを探しにいって、見つけて、そこに書かれている内容に基づいて実行し、End Subを見つけたら、そこで処理を終了するのです。
ちなみに、この Sub~End Subの“一かたまり”を、「プロシジャ(Procedure)」と呼びます。文字通り、日本語にすれば、手順・手続きのことです。

≪2~6行目≫ ’(アポストロフィ)のついた行

今回は、マクロを記録した日付と、ユーザー名が、書かれていると思います。
この「’」は、コンピュータに、「この行に書いてあることは、無視していいよ。」と教えています。要するに、「’」をつければ、マクロを作った人が、後から見てわかりやすいように、自由にメモやコメントが書けるということです。

≪7行目≫これは、今回のマクロで、コンピュータに始めて行う、「命令」です。
Range(範囲) と Select(選ぶ)、という英語がわかれば、おのずと命令の意味はおわかりいただけると思います。
実際に、マクロ記録でも、最初に、並べ替えたい範囲を選びましたよね。そのことをコンピュータに自動的に行わせるための命令です。
Sum関数の範囲指定と同じように B2:J15 のような表現をします。 しかし、チョットだけ違うのが「” ”」で囲わなければいけないことでしょうか。

さて、今回のプロシジャの中で、ハイライトとなる命令です。 そう、マクロ記録で、選んだ範囲を並べ替えましたね。

この命令は、4行に渡っていますが、実は1つの命令なのです。
内容は、Selection・・・選ばれたもの(範囲)を

Sort・・・・・・・並べ替えなさい、その並べ替えにあたって、
Key1は、・・・ Order1= xlAscending, 、・・・並べ替えのキー1は、xx、昇順(xlAscending)で

のようにコンピュータに指示しているのです。


チョット覚えるのは大変ですが、何をしようとしているのかは、理解できますよね。
ちなみに、筆者も、こういう長い命令を書かなければいけないとき、そこだけマクロ記録して、 Visual Basic Editorの中で、カット&ペーストしてしまってます。

今回は、字が多すぎてわかりにくかったかもしれませんが、なんとなく、「マクロってそんなものか」を、感じていただけたら幸いです。

経営コンサルタント 谷田貝 敏紀
[2003年8月15日 掲載]

ジャーナル最新のテーマ

今月のテーマ:インフラ最適化 全社視点、経営視点で取り組む「インフラ最適化」 続きを読む


今月のアンケート Q:あなたの会社では「富士通のサーバ」をお使いですか? 集計結果は1月13日から毎週公開 回答する


お客様の声をお聞かせください

富士通ジャーナルに掲載している記事やコンテンツについてのご意見・ご感想を、ぜひお寄せください。

ご意見・ご感想フォーム いただいた、お客様の声


お寄せいただいたご意見・ご感想については、富士通からの回答をお約束するものではありません。ご了承ください。
なお、富士通からのご回答を必要とするお問い合わせについては、
富士通ジャーナルに関するお問い合わせをご利用ください。