【Excel】マクロとVBAの違いを説明しなさい(速読VBA単語Program1-1)
Program1-1では、ExcelVBAとは何かについて解説します。概念や歴史を説明しても面白くないので、実際にExcelの画面を操作しながら学習します。
「マクロ」と「VBA」の違いは、マクロは操作手順を登録することであり、VBAは登録するときに用いるプログラム言語だということです。手順を登録するという作業にどのような意味があるのかを学びましょう。最後に動画解説もつけていますのでYoutubeでご覧ください。
目次
1.Macro(マクロ)
2.記録マクロ
3.VBA
4.Bug(バグ)
5.動画解説
6.お知らせ
注意事項
「速読VBA単語」は、文法を完全に無視して、難易度順に単語練習をするだけでExcelVBAを習得しようという「邪道」な企画です。本講座は、極めて強い副作用があり安全上注意が必要です。この説明書は本講座を正しく受講するための説明文書です。受講する前に必ずお読みください。
(ここからが本編です。最後まで無料で読めます。)
1.Macro(マクロ)
(1)マクロとは何か
マクロmacroとは、あるソフトの操作手順を登録して、自動的に実行させる機能です。
例えば、連続した操作手順(計算とか入力とか罫線を引くとか・・・)を順番に登録しておけば、「実行」のボタンを押すだけで、瞬時に、自動的に、正しい順番ですべての操作をやってくれます。毎日同じ時刻に同じ作業をしなければならないとか、100回コピー貼り付けを繰り返さなければならないとか、面倒な作業を登録しておけば作業時間の短縮になります。
特に疲れているときやイライラしているときに、作業手順の多い複雑な業務を繰り返すと、手順を間違えたり、見落としたりすることがあります。大量のデータを処理するのも人間の目では限界があります。マクロを使用することによりストレスの軽減になり、手作業によるミスも少なくなります。
(2)Excelだけではない
Excel以外にもマクロの機能はあります。例えば、Adobe社のPhotoshop / Illustratorは複数の操作を登録できる「アクション」機能があります。iOpus社のiMacros(アイマクロス)の場合、インターネットブラウザ上のクリックや文字入力を自動で実行することができます。登録しておくと面倒なログインの作業やサイト巡回がボタン一発でできます。また、登録した作業を超高速に繰り返すことも可能で、100回、1000回とクリックするだけのフリーソフト(マウスマクロやキーボードマクロ)もあります。これらはすべて「マクロ」です。マクロの登録の仕方はソフトによって異なります。
(3)Excelの場合
Excelでは、操作した手順をそのまま記録する方法や、専用のプログラミング言語VBAを使って処理内容を記述する方法があります。
2.記録マクロ
(1)マクロの記録と終了
Excelでは一連の操作を「マクロ」として記録することができます。
セルA1にカーソルがあることを確認します。
表示タブにマクロのボタンがあります。
そのなかに、マクロの記録があります。
マクロの名前はMacro1です。変更する必要はありません。記録を始めると操作をすべて記憶します。
セルA1に100と入力しますが、確定するときに、Enterキーではなく、入力のボタンを押します。
マクロの記録を終了します。マクロの記録を終了するのを絶対に忘れてはいけません。操作を間違えたときもいったん記録を終了してもう一度やり直します。これで記録できました。
マクロを記録する方法は何通りかあります。Excelの画面の左下にマクロの記録のボタンがあります。マクロの名前はMacro2です。
フォントサイズを20にします。Excelの画面の左下にマクロ記録を終了するボタンがあります。マクロの記録を終了します。マクロの記録を終了するのを絶対に忘れてはいけません。これで記録できました。
(2)マクロの実行と削除
本当にマクロが記録されたのか確認してみましょう。1行目を削除します。セルA1を選択します。
表示タブ、マクロの中に、マクロの表示があります。
Macro1、Macro2があります。Macro1を選択します。
実行すると100と入力されます。
今度はMacro2を選択します。
実行すると文字が大きくなります。Macro1を選択します。削除します。
マクロを表示します。Macro2を選択します。削除します。これでマクロが無くなります。
(3)開発タブの表示
Excelには通常、開発というタブはありません。
リボンのタブを右クリックします。リボンのユーザー設定を押します。
開発のタブにチェックが入っていません。チェックを入れます。
これで、開発タブが表示されます。開発タブを非表示にするときも同じ手順です。
セルA1が選択されていることを確認します。マクロの記録を開始します。
セルA1に2000と入力しますが、確定するときに、Enterキーではなく、入力のボタンを押します。
マクロの記録を停止します。
これで記録されました。ところで、セルA1に数値を入力するだけであれば、マクロを使わなくても普通に入力したほうがはやいです。これだけのマクロであれば全く役に立ちません。
このようにたくさんのデータを一気に入力するのであれば役に立ちますが、1つや2つのデータを入力するだけでは意味がありません。
(4)マクロ実行用ボタン
開発タブを表示します。開発タブ、挿入ボタン、フォームコントロールのボタンを選択します。
長方形を描くように斜めにドラッグします。
Macro1を選びます。これでボタンとマクロが紐づけられます。
ボタンを押すと2000と入力できます。
右クリックをします。テキストの編集を選択します。ボタンの文字列は自由に変えることができます。
右クリックをするとボタンのサイズも変えることができます。
右クリックをして切り取りをすると削除になります。
(3)記録マクロの編集
セルA1が選択されていることを確認します。マクロの記録をします。
「I have a pen.」と入力します。入力のボタンを押して確定します。
マクロの記録を停止します。
Macro1を実行します。何回実行しても「I have a pen.」のままです。「an apple」に変更するのにもう一度、記録するのは面倒です。
そこで、Macro1を編集します。
別の画面が開きます。これが「ExcelVBA」と呼ばれるプログラミング言語です。そのなかに、「I have a pen.」があります。
これを「an apple」にします。保存をせずに画面を閉じます。
Macro1を実行します。
「I have an apple.」になりました。
3.VBA
(1)VBAとは何か
Excelではマクロの実行手順を、専用の言語VBAで記述します。VBAは「Microsoft Visual Basic for Applications」の略です。Microsoftが開発したプログラミング言語「Visual Basic(VB)」を、Excelなどで使えるように簡単にしたものです。
Excel用のVBAは「ExcelVBA」といい、Access用のVBAは「AccessVBA」といいます。WordVBA、PowerPointVBAもあります。Visual Basicは単独で動きますが、ExcelVBAは、Excelに付属するものなのでExcelがなければ動きません。
※ちなみに、似た名前で「VBS」というものがありますが全く別物です。VBSはVisual Basicから派生したScript(スクリプト言語)ですが、Excelとは無関係です。
(2)英単語とVBA単語
VBAはアメリカ人が作った言語なのでほとんど英語です。半角英数字で入力することに慣れなければなりません。また、中学レベルの英単語が分からなければVBAは理解できません。
(3)ExcelとExcelVBA
ExcelVBAは、Excelの操作が分かっている前提で記述します。Excelの知識は必須です。
(4)余談
何年か前のWordcamp(Wordpressのイベント)で「初心者向け」のセミナーを受講したことがあります。説明が上手な先生でわかりやすく、コンパクトにまとまった講座で非常に満足したのですが・・・
そのセミナーはfunction.phpをいじってブログのデザインを変えようという内容でした。しかし、公式サイトに「プログラマーでなくてもわかる」と紹介されていたので勘違いしたのか、その受講者の中にPHPが全く分からない中年のおばさん?がいました。講演が終わった後で講師の先生にプログラムのコードを打つとは思わなかった!ちんぷんかんぷんで難しすぎた!というクレームを言っていたのです。
本講座では、できるだけExcelのどのような知識が必要かということについても述べていこうとは思いますが、初心者の皆さんには「VBAの初心者向け」とはいってもある程度の予備知識が必要だということを認識してほしいものです。
(5)初心者が楽をする機能ではない
「ExcelVBAを使えば初心者が楽になる」という理解は間違いです。完全な勘違いです。
Excelの操作がExcelVBAによって簡単になるわけではありません。初心者が操作しやすいようにマクロを作ってあげるというのも余計なおせっかいです。
厳しいことを言うようですが、初心者を甘やかしてはいけません。ExcelVBAは初心者が楽をするために使うものではありません。横着をしていたらいつまでたっても上達しません。
複数の操作を登録するには、保存をするための時間が必要です。VBAのコードを入力する作業も必要になってきます。そこまでして、わざわざ時間をかけて複数の操作を保存するということは、その作業を何回も繰り返すということです。何回も何回も同じ作業を繰り返すのが面倒だから、ボタン1発で済ませたら時間短縮になるのであって、繰り返さない作業を登録しても意味がありません。
4.Bug(バグ)
VBAのコードの間違いをバグといいます。バグがあると全く意図していない動きをします。
一度実行すると基本的に止められませんので、間違ったコードを実行すると大変なことになります。バグがあると、手作業よりも深刻な問題が発生することがあります。データの損失やパソコンの故障が発生することもありますので、十分注意して実行するようにします。
5.動画解説
画面の操作方法は静止画では伝わりにくいと思いますので、Youtubeの動画をご覧ください。
6.お知らせ
Program1-1は以上となります。
次回はProgram1-2「VBEでモジュールにプロシージャを作る」です。1つずつ用語を覚えて、VBEの画面の使い方を学習します。動画解説もあります。
引き続きよろしくお願い申し上げます。
この記事が気に入ったらサポートをしてみませんか?