エクセルマクロとは? | エクセルマクロマスターへの道!【基本をしっかり!初心者向け勉強方法~作成方法・使い方】

カテゴリ: エクセルマクロとは?

マクロって何??エクセルの作業をプログラムしよう!

よく「エクセルのマクロ」って聞きますが、そもそもエクセルマクロって何なのでしょうか?

これは、つまりエクセルで使用する「プログラム」のこと。
うまく使えば、いろんなことができて便利なんですよ。

といっても、エクセルマクロに限らず、パソコンに慣れていない人にとってはとくに、「プログラム」っていうととっつきにくいというか…難しいものってイメージになりますよね。

もちろん複雑な処理をマクロでしようと思えば、作業はちょっと大変になりますし、VBAなどを使用して、自分でどんどんプログラムを組むということもできます。
でも、とりあえずは、実行した作業をマクロに記録させていく方法なら手軽だと思います。

例えば、文字のサイズや色を変更するなどの設定がたくさんあると、作業が多くてたいへんです。
これを、自動的記録機能で記憶してもらい、その記録にマクロ名をつけて保存しておくと、そのマクロを実行すれば同じ処理を自動的にすませることができます。

それでは、とっても簡単にできる、ちょっとしたマクロから挑戦してみましょう!

まずは、エクセルのファイルを開いてください。
「ツール」から「マクロ」を選び、「新しいマクロの記録」をクリックします。
そこに「記録開始」の「●」ボタンがあるのでクリックして、どこか適当なセルに「あいうえお」と文字を入力します。
入力したら、「終了」の「■」ボタンを押したら、マクロの完成です!

では、さきほどの文字をいったん削除してください。
「ツール」から「マクロ」を選択、そこから「マクロ」を選び、さっき記録開始したときにつけたマクロ名を選択してみましょう。
これでマクロが実行され、さきほどのセルに「あいうえお」の文字が、自動的に入力されましたね。

これなら、案外簡単なものなのではないでしょうか?

エクセルの作業を自動的にできる便利な「マクロ」について

エクセルの、「マクロ」という名前は聞いたことはあるけど、どういうもの?どんなふうに使うの?
なんて疑問に思っている人は多いのでは?
特に初心者の人にとってはあまりピンとこないものかもしれませんが、マクロとは、要するに、エクセルの作業で同じ処理がめんどうなものなどを、自動的にやってしまうようにするプログラムのことです。

仕事や、プライベートでエクセルを使っていて、同じ作業がえんえんと続くと、めんどうだし、時間がかかってしまうし…と悩みながらも、単純作業を続けていて疲れた、なんてことありますよね。

こういうときは、エクセルマクロの出番です。
例えば、次のようなときに、めんどうな処理をあっというまに終わらせてしまうことができるんです。

例として、あるワークシートのセルの中に「a100 b200 c300 400 d500……」といったふうに、英数字が混ざっている値と、混ざっていない値が1000個ある場合を考えてください。
ここから、英字を取り除いて、数字だけ残すようにするなら、1000個を全部手作業で変更していくと思うと、すごく時間もかかるしめんどうだしでいやになりそうですね…

こんなときに、自動記録機能を使ったり、VBAとよばれる言語でプログラムを記述したりして、こういった作業をする「マクロ」を作成しておけばよいのです。
いちどマクロを組んでおけば、実行するだけで同じようなデータについて同じ処理をするとき、一瞬で大量の処理を済ませてしまえるようになるのです!

こうして、一定の作業を自動化する、とても便利な機能が、エクセルマクロなのです。

エクセルとOfficeの違いーエクセルVBA関数とワークシート上の関数

エクセルの使い方を勉強して、関数、マクロといった機能についておぼえようとしている人もいると思います。
このとき、関数の使い方を見ていると、ふと、VBAの関数がワークシートで使う関数と違うのはなんでだろう?
って疑問に感じることもあるのでは?

じつは、VBA関数と、ワークシート上での関数は、まったく違うものなんです!
VBA、ワークシートでの関数の異なる点について、いくつか例をあげてみると、

『同じ動作なのにスペルが違うもの』
●今日の日付の取得
VBA関数→「Date」     ワークシート関数→「Today」

●日付の間隔の取得
VBA関数→「Datediff」     ワークシート関数→「Datedif」

『同じスペルなのに動作が異なるもの』
●Round
VBA関数→「丸め処理」     ワークシート関数→「四捨五入」

このように、VBAで使うときとワークシート上で使う時で異なる関数はたくさんあるんです。
ここで、動作が同じ関数は、ぐうぜん同じような名前がついただけで、名前も動作も同じ、というものはほとんどありません。

マクロを作成するときに、VBAの記述ができるようになったのが、Excel5.0です。
これ以前のバージョンのエクセルについては、マクロでもワークシート関数と同じような記述をしていたのです。

VBAとは、「Microsoft Visual Basic」(VB)というプログラム言語をもとに作られた言語です。
MicrosoftのOfficeアプリケーションでは、Word、Accessでもマクロがあるんですが、もともとはWordBasic、AccessBasic、とそれぞれで全然ちがう言語を使っていて、これらを統一するために採用されたのが、Visual Basic for Applications、「VBA」です。

つまり、こんなOfficeの機能の歴史からもわかりますが、エクセルで使用されているエクセル独自の関数と、Office共通で使われる「VBA関数」が違ってくるんですよね。

エクセルの使い道をマクロを使って広げよう!

エクセルといえば、有名な表計算ソフトですが、マクロをうまく使えば、ただの表計算だけにとどまらず、いろいろな使い道に応用していけるんです。
そんなマクロの使い方について、簡単に説明してみますね。

最初に、ツールバーのどこでもよいので、右クリックしてショートカットメニューを開いて、「Visual Basic」を追加しておきます。

では、ファイルを開くマクロを作成してみます。
「マクロの記録」ボタンを押してください。「●」が描かれている録画のようなボタンです。
すると、マクロ名を入力するダイアログボックスが出てくるので、ここでは「ファイルを開く用」と名付けます。
「説明」の欄には、どのようなマクロなのかを書いておくことができます。

名前をつけて、「OK」ボタンを押すと、「記録の終了」ボタンが表示されることを確認しましょう。

ここから、ファイルを開く、という処理を、自動記録でマクロにおぼえさせていきます。
といっても、適当なファイルを開く操作をして、「記録終了」ボタンを押すだけです。
メニューの「ツール」から「マクロ(の記録)」→「記録終了」を選択しても同じです。

ちゃんと、記録終了ボタンを押しておかないと、このあとの操作がぜんぶ記録されてしまうので、ファイルを開いたら終了ボタンを押すのをくれぐれも忘れずに…

これで、「ファイルを開く用」というマクロができたので、実行してみましょう。
記録のときに開いたファイルをいったん閉じてください。
メニューの「ツール」から、「マクロ」→「マクロ」を選ぶか、マクロの実行ボタンを押し、マクロ名「マクロを開く用」を選択して、実行ボタンをクリックしましょう。

すると、さきほど記録した手順、つまりファイルを開く操作が、マクロによって実行されましたね!

データ処理を自動的にして作業効率をアップさせる「エクセルマクロ」

エクセルのマクロってなんだろう、と思っていたり、エクセルのマクロについて知りたい人も多いと思います。
たとえば、こんな質問をされることがあります。

『友達に、「エクセルのマクロ使える?」なんて聞かれたので、「うん、使えるけど?」と答えちゃったんですが…
もしこんど、エクセルのマクロについて質問でもされたらなんて答えたらいいか悩んでます。
そもそも、エクセルのマクロってどんなもので、どういう使い道があるんでしょうか?
メリットやデメリットにはどんなものがあるんでしょうか?』

こういう場合、うっかり知っているように答えちゃったことはともかく…
同じような疑問を抱いている人にもわかるように、ちょっとお話してみますね。

エクセルやワードなどで作業するときに、効率アップするサポートをしてくれるプログラムのことを「マクロ」といいます。
エクセルのマクロは、早い話が、計算や同じ処理など、手間のかかるめんどくさい作業を自動的にやってくれる機能なんです。

メリットについてですが、エクセルのマクロを使うと、データベースとして使えるのでデータ処理が楽になり、ややこしい複数の処理も、ボタンを押すだけでできるようにもなるので、作業がはかどって便利です。
デメリットといえば、そういう機能のマクロを組むためには、ちょっとしたプログラム言語をおぼえないといけないので、勉強する時間がかかってしまったり、タイミングなど使い方によっては、逆に手間取るはめになることもあることでしょうか。

でも、関数などとも組み合わせたり、いろいろな使い方ができるので、解説ウェブサイトなどを見たりして、ちょっと調べてみたら仕事なども効率アップできるかもしれませんね。