【超初級講座】





スキル別講座



 マクロ以外であれば、
エクセルの機能を、結構
使いこなせる。

 まず、エクセルを勉強 して下さい。 m(_ _)m
 マクロの記録機能
『新しいマクロの記録』
を使ったことがある。

マクロの記録機能の使い方
 マクロの記録機能を
使用しなくても、マクロ
を手動で記述できる。

マクロの手動作成方法
左の【サンプルマクロ】をご利用ください。








エクセルマクロとは?



 一般的には、特定のソフト内でのみ動作可能なプログラムを、マクロと 呼んでいます。そしてこれまでのマクロのほとんどが、その特定ソフトが 出来ない処理は、マクロ化できないと言うのが当たり前でした。

 しかしエクセルマクロは、言語にVBAを使用しているため、エクセルで 出来る様々な処理はもちろん、Visual Basic の機能を利用したマクロも 作成できます。そういった特徴をうまく活用すれば、ユーザーに選択肢を 提示し、ユーザーの意志により処理を分岐させること(会話処理形式)も 可能です。

 なおVBA( Visual Basic for Application Edition )とは、エクセル マクロの言語そのものを言い、その名の通りVB(Visual Basic)の流れを 汲んだ言語です。よって VB経験者にとっては、最も取り組みやすい言語 だと言えますし、マクロやプログラム未経験の人でも、VBの元が初心者向 言語である Basic と言う事から考えれば、わりと入門しやすい言語だと 思います。








なぜマクロを使うの?



 エクセル97は、非常に高機能で便利なソフトです。ですから、通常の 表計算としてだけではなく、簡易データベースとしてや、簡易プレゼン用 ファイルの作成等に利用している人も多いと思います。
 そんな便利なソフトだからこそ、エクセルの機能をフルに利用して ファイルを作成する人も多いと思います。しかし、いくら便利なソフト でも、その機能には限界があります。

 例えばある人が複雑なファイルを作成し、そのファイルで実際に求める 結果が得られる物が完成したとします。しかしそれを利用する他の人に とって操作が複雑すぎたりすると、せっかくのファイルの価値が半減して しまう事もあります。また、やたらシートが増えてしまったり、ファイル が計算式だらけになってしまいファイルが巨大化したりする事も良くある と思います。

 そこで、マクロが脚光を浴びます。と言うのも上記のような問題は、 マクロを有効活用することによって、ほとんど解決できてしまうから です。








マクロで出来ること



T.定型処理の自動化

 例えば、『あるファイルにデ−タを入力し、入力終了後に決められた 順序で整列をかけ、その後、特定の条件に合ったデータのみを抽出し、 その抽出データを元にグラフを作成、最後にグラフとデータを印刷する』 と言った定型作業を頻繁に行わなければならないと仮定しましょう。
 これを手作業で毎回行うのは大変ですし、操作する人によっては、途中 でミスをしてしまい、もう一度操作をやり直さなければならないといった 事態もありえます。

 しかし、こういった一連の作業は、マクロ化する事が可能なのです。 と言うより、ぜひマクロ化すべきだと思います。そして上記のような例を マクロ化すると、データ入力が終了した時に、マクロを登録したボタンを 一回クリックすれば、整列以降の全ての作業をマクロがやってくれます。 その間、操作する人は、ただマクロ処理が終了するのを待っていれば良い だけなのです。

 つまりこの場合、マクロ化する事によって操作ミスがなくなり(入力 ミスは別ですが...^^;)、作業時間もはるかに短縮できると言うこと になる訳です。


U.入力作業の簡略化

 例えば、顧客データ等の簡易データベースファイルに、デ−タ入力する 場合を考えます。そのファイルには、あらかじめ決まった値のみを入力 するセルがあるとします。しかも、そのセルの値によって、他のセルの 値も変更しなくてはならないと仮定しましょう。

 通常、このようなファイルを作成する場合、入力規制を多用するか、 様々な関数を大量に使用しなくてはなりません。しかし入力規制では、 他のセルの値を同時に変更することは不可能ですし、また関数を大量に 使用すれば、操作が重くなったり、ファイルが肥大化する原因になった りします。

 そこで、マクロの登場です。まず下図のようなコンボボックスやリスト ボックスを作成します。そして、ユーザーがリストの中から値を選択した 時に、マクロが発動するように設定すれば、実際に入力するセルだけで なく、他のセルの値にも変更を加えることが可能となります。

 つまりこの場合、マクロ化する事によって、ユーザーが入力しやすい インターフェイスを採用しながら、入力作業も簡略化され、なおかつ ファイルを軽くする事ができると言うことなのです。

コンボボックス リストボックス


V.エクセルの機能超越

 この『 初級 Excel97 VBAのページ 』では、主にモジュールの記述を 取扱っていますが、エクセル97のマクロには、フォーム形式(オリジ ナルのダイアログ ボックス形式)も存在します。そしてこのフォームを 活用すれば、エクセル上で、他のプログラムを動かしているように見せ る事ができます(フォームはVBの標準機能ですから、別のプログラム のように見えるのは当たり前かも知れませんが...)。

 またフォーム以外では、エクセルから直接 WindowsのAPI( Windowsの プログラムを作成する際に利用される、さまざまな機能をサポートする インターフェイス)を呼び出す事もできます。








マクロの作成方法



T.マクロの記録機能の使い方

U.マクロの手動作成方法

V.マクロの編集,削除方法







T.マクロの記録機能の使い方

※ マクロの記録機能とは、ユーザーが自動処理したい手順を 実際に行うだけで、エクセルが自動的にその手順を、マクロの 記述として作成してくれる機能です。

 以下の例では、ランダムに入力された住所データを住所順に 整列させ、各列の幅を自動調整させる作業をマクロ化させます。




@まず、下のようなデータを用意してください






A次に下図のメニューから、『新しいマクロの記録』をクリックします。






Bすると、以下のようなウィンドウが、新たに表示されるので、 Macro1 の箇所を、分かりやすいマクロ名に変更して、OKを クリックします。(Macro1のままでも構いません。)






C次に元データの B〜E列を選択し、B列,C列,D列の順で昇順に 整列させます。その後、B〜E列の列幅を自動調整します。この 作業を終了させると、下図の様なデータが得られるハズです。

以上の作業が終了したら、記録終了ボタン をクリックします。






D以上で、マクロの記録は終了しました。なお、記録したマクロを実行  するには、まず下図のメニューから、『マクロ』をクリックします。






Eすると、以下のようなウィンドウが表示されます。
 記録したマクロ名を選択し、実行をクリックするだけで 先程記録したマクロが実行されます。









U.マクロの手動作成方法

※ 上で紹介したマクロの記録機能は、結構便利な機能です。 しかし、便利であると同時に様々な制限があるのも事実です。 そこで、ここではマクロを手動で作成する方法を紹介します。 (マクロには、大別してモジュールとフォームがありますが、 ここではモジュールについて紹介します。)

 以下の例では、【マクロの記録機能の使い方】で作成した マクロを手動で作成します。(多少の付け足しも行います。)




@まず、下のようなデータを用意してください。






A次に下図のメニューから、『Visual Basic Editor』をクリックし、 Visual Basic Editorを起動させます。






B次に下図のメニューから、『標準モジュール』をクリックします。






Cすると、Module1という名前のモジュールが追加されるので、
 Sub テスト()
の一行を追加してください。( End Sub の行は、自動で作成されます。) なお テスト の箇所は、分かりやすいマクロ名に変更しても構いません。


 通常のマクロは、 Sub ●●● () の行から始まり、End Sub の行で 終了しますので、記述行は、必ずその間に挿入して下さい。



D最後に、以下のような記述行を 追加すれば完成です。
なお、各記述の詳細は、【サンプルマクロ】を参照して下さい。


 'で始まる緑色の行は、コメント行です。後から見直す時のために、  記述内容の説明等を記入しておくと便利です。







V.マクロの編集,削除方法

@まず、下図のメニューから、『マクロ』をクリックします。






Aすると、以下のようなウィンドウが表示されますので、
 対象のマクロ名を選択し、編集または、削除をクリックします。









トップページへ戻る ▲このページの先頭へ