学習パート
本記事のパートでは『Chapter 1 -準備・体験』を説明します。
Chapter1-はじめに
そもそも「マクロ」「VBA」「VBE」って何?
意味は簡単です。
<説明>
マクロ:指定した作業を自動化する機能
VBA:MicroSoft社のMicroOffice(※1)に搭載されたプログラミング言語
VBE:VBAを編集するツールアプリケーション
※1:EXCEL、WordとかのOffice製品のこと
ちなみに、VBAは「Visual Basic for Applications」の略となります。
スクリーンショットで説明するとこんな感じ。
(この画面を知らなくても大丈夫。知っているけど曖昧な人向けに記載)
マクロ作成時に大切なこと
マクロ(指定した作業を自動化する機能)を作成する際は、
自動化したい作業内容を「割り切れないまで分割化」する必要があります。
<悪い分割例>
NG例:EXCEL内で転記したい
→悪い理由:漠然として分解できていない。
<良い分割例>
OK例:○○EXCEL内の××シートにあるA1セルをB2セルに転記したい
→良い理由:これ以上分解できない。
マクロはプログラミングのため、人のように解釈をしての行動ができません。
言われたこと(VBAで書いたこと)のみ実行します。
裏を返せば、プログラミングスキルがあっても
分割化できなればマクロは作成できません。
マクロ作成時は、その作業が分解できるかを見極めることが大切なことになります。
この考え方は、プログラム作成を外部委託する際にも効果を発揮します。
プログラム要件定義を作成する際、
この考え方が出来ない人は漠然とした要件定義を作成し、
認識合わせのための無駄なミーティングが増えるきっかけとなります。
余談:現場の人間がプログラムスキル持つと最強なのでは?と思う。
余談ですが、
個人的に「現場を知っているプログラミングスキル保持者」は最強だと思っています。
なぜなら、現場を知らない=作業を分割化できない=マクロを作成できない からになります。
マクロが本当に欲しいタイミングは経験上至急性が高いものが多く、
しかしながら、企業は縦割りの組織のため、
マクロを作成できる人間が 現場の作業を知っている例は少ないです。
所定フローでプログラムを外部委託する場合、
「現場を知らないから要件定義を作成→認識合わせのMTG→マクロを作成」の手順を踏み
本来 楽をするためのマクロ作成が 意外に楽にならない例は多々あります。
(人海戦術で乗り切った方が楽だー、と思う人も多いのかなと。)
現場を知っていれば直接マクロを作成できますので、
本当の意味で 楽になり 現場はハッピーになります。
まぁそのせいで闇ツール(※1)が横行したりで別問題になったりしますが。
至急性の高いものはインスタントに使用し 運用に組み込まなければOKと思います。
正式に運用に組み込む場合は、所属先の責任者に許可を取るのをお忘れなく。
※1:無認可のツール(裏ツールとか言われてたり)
Chapter1-開発タブ
マクロ作成の際に便利な「開発」タブを出現させておきましょう。
開発タブの出し方
① EXCELの「ファイル」タブをクリック
②「オプション」をクリック
③「リボンのユーザー設定」をクリック
④「開発」をチェック(クリック)
⑤「OK」をクリック
「開発」タブが増えているのが分かる。
Chapter1-マクロ記録
マクロの記憶とは
EXCELで自身の行う操作を記録させ、再現させる機能のこと。
VBAを1から作成せずに、マウスやキーボードの操作を記録させることで
操作を再現(マクロ=自動化)することが出来る機能です。
「開発」タブを出現させたのでマクロ(自動化)を体験してみましょう。
体験してみよう
「マクロ記録」の機能では、誰にでも簡単にマクロを作成できます。
<体験する手順>
(1)「開発」タブをクリック
(2)「マクロの記録 」 ボタンをクリック
(3) ポップアップするウィンドウのOKをクリック
(4) エクセル操作を行う
(5) 「記録終了」ボタンをクリック → マクロは完成
(6) 上記(4)でA1セルに入力した文字を削除
(7)「マクロ」をクリック
(8)「実行」をクリック
(9) 結果を確認
◎(1) 「開発」タブを押す
◎(2) 「マクロの記録」ボタンを押す
◎(3) ポップアップするウィンドウのOKをクリック
◎(4)エクセル操作を行う
説明ではA1セルに対し、「A1セルにテスト入力」と入力しています。
◎(5)「記録終了」ボタンをクリック → マクロは完成
◎(6) 上記(4)でA1セルに入力した文字を削除
◎(7)「マクロ」をクリック
◎(8)「実行」をクリック
※尚、(3)で名称変更した場合、変更後の名前でマクロは登場します。
◎(9) 結果を確認
※(4)で入力した情報が自動で入力されていることが確認できます。
Chapter1- マクロで出来ること
マクロで何ができるの?
①EXCELで操作できるものはマクロが組めます。(マクロ記録機能で可能)
②EXCELで操作できないものでもマクロでは操作できるものがあります。
中でも②が重要で、手作業では不可能でも、
VBAでは可能なものが効率化するポテンシャルを多く秘めています。
EXCELで操作できるもの=「マクロ記録」機能で可能なもの
EXCELで操作できなくてもマクロ(VBA作成)では操作できるもの
Chapter1-マクロ有効ブックで保存
EXCELの拡張子は「.xlsm」を選択
EXCELでマクロを利用する際、
ファイルの拡張子を「*.xlsm」にする必要があります。
EXCELには様々な拡張子がありますが、
普段利用しているものは「*.xls」や「*.xlsx」となり、
「*.xlsm」と相違しているため注意しましょう。
「*.xlsm」はマクロを使う可能性があることを宣言しているだけなので、
「*.xlsx」と比べて EXCELとしての機能(関数など)に差分はありません。
拡張子「*.xlsm」への保存方法
EXCELファイルを保存する際、
「名前を付けて保存」から拡張子の選択で
「Excel マクロ有効ブック(*.xlsm)」を選択し保存すれば良いです。
Chapter1-VBEの設定
VBEを開いてみよう
ここでおさらいです。
『Chapter1-はじめに』の『そもそも「マクロ」「VBA」「VBE」って何?』から再掲。
<説明>
マクロ:指定した作業を自動化する機能
VBA:MicroSoft社のMicroOffice(※1)に搭載されたプログラミング言語
VBE:VBAを編集するツールアプリケーション
※1:EXCEL、WordとかのOffice製品のこと
VBEは 2つのいずれかの方法で出現させることができます。
<VBEを出現させる方法>
方法1:「開発」タブ内の「Visual Basic」を押下
方法2:キーボードで Alt + F11 を押下
個人的には、方法2で出現させることが多いです。(楽だから)
VBE画面の説明
ざっくりと覚えればOKです。
標準モジュール(赤枠) :マクロ(VBA)を書くところ
プロパティウィンドウ(青枠) :標準モジュールの設定を変えるところ
イミディエイトウィンドウ(紫枠):デバックとかで利用するところ
上記説明したもの以外は、僕は1年以上経過して知りました。
つまり言いたい事は、VBEはこれ以外知らなくても意外に何となるということです。
VBEのおすすめ初期設定
ほぼ初期設定のまま、僕は利用していますが、
一部便利機能のみ設定変更しました。
≪おすすめ初期設定-2つ≫
①記載プログラムの一部非参照化できるツールバーの追加
└ 理由:コードを非参照にする際に、
対象のコードの前に「’(アポストロフィ)」を付けます。
「Shit+7」のキーボード入力で付けることができます。
一つ一つ手動で入力しても同じ結果が得られますが、
このツールバーを使用すると 範囲選択したコードに対して、
一括で付けたり・消したりできます。
②プログラムの自動エラー構文機能の無効化
└ 理由:間違えたコードを記載したと判定されると
都度エラーのウィンドウが出現し作業効率化低下するため、
エラーウィンドウを出現しないようにします。
■設定方法■
<①記載プログラムを一部非参照化できるツールバーの追加>
VBE上から「表示」→「ツールバー」→「編集」の順にクリックすると出現します。
<②プログラムの自動エラー構文機能の無効化>
VBE上から「ツール」→「オプション」をクリックし、
出現したポップアップ内の「自動構文チェック」のレ点チェックを外して「OK」をクリック
Chapter1- マクロ記録の中身
VBEを出現させよう
まだVBEを開いていないかた向けにVBEの開き方を再掲します。
VBEは 2つのいずれかの方法で出現させることができます。
<VBEを出現させる方法>
方法1:「開発」タブ内の「Visual Basic」を押下
方法2:キーボードで Alt + F11 を押下
VBEで「マクロ記録」の中身を見てみよう
VBE上にある標準モジュールから「Module1」を選択しましょう。
Sub~End Sub で囲われたVBAコードが記載されいてるのが確認できます。
マクロ名称は自由に変更ができます。
直接VBE上で入力修正してOKです。
但し、先頭文字が数字の場合エラーがでてきます。
VBEで作成したVBAコードの実行方法
Sub~End Sub で囲われたVBAコードは、
VBE画面上部の三角ボタンで実行ができます。
もしくは、キーボードの「F5」です。
<VBA実行方法>
1.VBE画面上部の三角ボタンを押す
2.キーボードの「F5」を押す
※注意点※
VBE上で Sub~End Sub の間をクリックしてから、
VBAを実行させましょう。
対象のSub が指定させる動作がSub〜EndSub間のクリックとなり、
指定しなければ何のSubが動作しているか分からなくなるため、
今後のためにクセづけときましょう。
Chapter1-終わりに
以上でChapter1が終了です。
準備がメインだったため、多少退屈だったかもしれませんが、マクロについて少しずつ分かってきたかと思います。
Chapter2以降は VBAコードの基本を理解していくパートとなります。
引き続き頑張っていきましょう。
次学習パートへ
Chapter2-基本・動作 編はこちら