【初心者向け】メンドウ作業の効率化・自動化への第一歩!マクロ・VBAの始め方② -マクロ開発の大まかな流れ-

VBA基礎

マクロ開発のチュートリアルとして、実際にVBEを起動し、VBAを記述し、マクロを実行・保存するまでの大まかな流れを実践形式でご紹介します。
見よう見まねでいいので、ぜひ実践してみてください。

step0.はじめに

こちらのチュートリアルでは、マクロ・VBAの初期設定として「開発タブの表示」までしている前提で話を進めます
開発タブの表示がまだの方は、先にこちらをご覧いただき、開発タブを表示していただければと思います。

step1.VBEの起動

開発タブをクリックすると、「Visual Basic」というアイコンがあります。
こちらをクリックすると、新しくウィンドウが開き、VBEが起動します(VBEって何?という方は下記参考記事参照)。

マクロ開発step1.VBEの起動

step2.標準モジュールの作成

step1で起動したVBEで、VBAを記述するための場所である「標準モジュール」を作成します。
標準モジュールは、メニューバーの「挿入」→「標準モジュール」をクリックすることで、作成できます。

マクロ開発 step2.標準モジュールの作成

step3.VBAの記述

さて、いよいよVBAでのプログラミングデビューです。
今回は手っ取り早く、下記のコードをModule1のコードウィンドウにコピペしましょう。
下記のコードは「macro」というマクロ名で、「A1セルに”Hello World!”という文字列を入力する」という処理をするマクロです。

Sub macro()

    Cells(1, 1) = "Hello World!"

End Sub
マクロの開発step3.VBAの記述

step4.マクロの実行

出来上がったマクロを実行する方法について、ここでは3種類ご紹介します。
3つの方法の実行結果は全て同じです。
お好みの方法で実行してみてください。

マクロの実行方法1.VBEから実行

VBEウィンドウから実行するには、上部の再生ボタンのようなアイコン「Sub/ユーザーフォームの実行」をクリックします。
この時、コードウィンドウ内のカーソルがコードの「Sub~End Sub」の行内にある場合は、そのままそのマクロが実行されます。
カーソルがコード外にある場合は、どのマクロを実行するか確認画面が出てくるので、「macro」を選択し、「実行」をクリックするとマクロが実行されます。

上記のように、どのマクロを実行するか確認画面が出ずに実行できてしまうこと、カーソルの位置で実行するマクロが決まってしまうことから、使い勝手は良くありません。

紹介しておいて何ですが、私はこの実行方法をほぼ使っていませんし、あまりオススメしません。

知識として知っておくにゃ

マクロの実行方法1.VBEから実行

マクロの実行方法2.Excelから実行

マクロをExcelから実行するには、「開発」タブの中の「マクロ」をクリックします。
マクロ」をクリックすると、現在表示しているExcelファイルの中にあるマクロの一覧が表示されます。
一覧から「macro」を選択し、「実行」をクリックすると、マクロが実行されます。
こちらの実行方法では必ずどのマクロを実行するか確認画面が出てくれるため、基本的にはこちらの実行方法を使用することを強く推奨します

マクロの実行方法2.Excelから実行

マクロの実行方法3.ボタンを作成し実行

マクロの実行方法1、2をそれぞれご紹介しましたが、2つに共通するデメリットが1つあります。
それは「開発タブを表示していないと実行できない」ということ。
今この記事をご覧いただいている方はもちろん開発タブを表示されていると思いますが、マクロを知らない・興味ない人のパソコンのExcelには、当然開発タブは表示されていません。
自分が作成したマクロを人に渡す際に、その都度「開発タブを表示して!」というのもナンセンスです。

また、効率化のためにわざわざ作ったツールなのだから、どうせなら2クリックではなく1クリックで素早く・格好良く実行したいですよね。

ということで、マクロが完成した暁にぜひ活用していただきたい実行方法が、「ボタンを作成し実行」というものです。
好きな図形を登録したマクロの実行ボタンにすることが出来るため、誰でも1クリックで簡単にマクロを実行することが出来るようになり、一気にツール感が増します

正確には、もう1つ「ショートカットキーを設定して実行する」方法がありますが、

こちらは個人用マクロとの併用が強力なので、別の記事で解説します。

独立したツールとしては、ボタンが一番楽かもにゃ

以下、マクロ実行ボタンの作成・実行手順です。

  1. Excel「挿入」タブの「図形」から、好きな図形を作成する
  2. 作成した図形の上で右クリックし、表示したメニューから「マクロの登録」をクリック
  3. マクロの登録ウィンドウでマクロ名「macro」を選択し、「OK」をクリック
  4. 一旦Excelの適当なセルをクリックする等して図形を選択状態を解除し、その後マクロを登録した図形をクリックすると、マクロが実行される
マクロ実行ボタンの作成・実行手順 1.図形を作成
マクロ実行ボタンの作成・実行手順 2.図形上で右クリックし、「マクロの登録」をクリック
マクロ実行ボタンの作成・実行手順 3.登録したいマクロを選択し、「OK」
マクロ実行ボタンの作成・実行手順 4.マクロを登録した図形をクリックすると、マクロが実行される

step5.マクロの保存

マクロ開発チュートリアルの最後に、マクロの保存についてご紹介します。
ここで注意していただきたいのが、マクロは普通のExcelファイル(.xlsx)では保存できないということ。
マクロを含むExcelファイルをxlsx形式で保存しようとすると、アラートが出ます。
アラートを無視してそのままxlsx形式で保存すると、せっかく作ったマクロが消えてしまいます
必ず以下の2つのいずれかで、マクロを保存しておきましょう。
それぞれファイルの性質が異なるため、特徴をしっかり押さえて使い分けましょう。

  1. Excelをマクロ有効ブックとして保存(Excelファイルごと保存)
  2. 標準モジュールをエクスポート(マクロのコードのみ保存)

マクロの保存方法1.Excelをマクロ有効ブックとして保存

マクロの保存方法の1つ目は、Excelをマクロ有効ブックとして保存する方法です。
通常のExcelファイルの保存の手順で、保存時にファイルの種類を変更します。
Excelの「ファイル」タブ→「名前を付けて保存」(F12キー)で、「名前を付けて保存」ウィンドウを起動しましょう。
この時、ファイルの種類を「Excelマクロ有効ブック(*.xlsm)」に変更して保存を実行してください。
たったこれだけで、Excelとマクロがちゃんと保存されます。名前もわかりやすくていいですね。

マクロの保存方法1.Excelをマクロ有効ブックとして保存

マクロ有効ブックであるxlsmは、初回起動時に下図のようなアラートが出てきます。
マクロは悪意ある使い方をすれば、パソコン内のデータを消すこともできてしまいます
そのため、「本当にこのxlsmファイル内のマクロ、信用できますか?」と確認されているんですね。
信用できるファイルであれば「コンテンツの有効化」をクリックして、マクロを使える状態にしましょう。

xlsmファイルの初回起動時のアラート

とりあえず保存しておきたい場合や、そのExcelファイル単体でツールとして完結する場合は、xlsm形式でExcelファイルごと保存しておけばOKです。

マクロの保存方法2.標準モジュールをエクスポート

VBAを記述した標準モジュールそのものを保存するには、エクスポート(=外に取り出す)という操作を行います。
こちらの方法では、VBEのプロジェクトウィンドウ内の保存したいファイルを右クリックし、「ファイルのエクスポート」をクリックすることで、標準モジュールをbasファイルとして保存します。

マクロの保存方法2.標準モジュールをbasファイルとしてエクスポート

このbasファイルは、クリックでは開くことが出来ません。
VBEのメニューバーから「ファイル」→「ファイルのインポート」、もしくはbasファイルをVBEのプロジェクトウィンドウに直接ドラック&ドロップすることで、再び開くことが出来ます。

標準モジュール・basファイルの再利用方法

このマクロの保存方法ではbasファイルで保存するため、取り扱いが若干ややこしくはなります。
既存のxlsxファイル等のマクロ無効ブックに持って行って実行したい場合(例えば、既存の表やグラフの書式・形式の一括統一)は、こちらの方法で保存することを検討しましょう。

まとめ:これであなたもマクロ開発デビュー!

マクロ開発の大まかな流れのご紹介は、以上です。

最後までご覧いただいた方、お疲れ様でした!
そして、ようこそマクロ・VBAの世界へ!
メンドウ作業の効率化・自動化に向けて、これから一緒に勉強していきましょう。

コメント

タイトルとURLをコピーしました