こちらの記事では、Microsoft のOfficeソフトで利用できる マクロ と VBA(Visual Basic for Applications)について、初心者の方にも出来るだけわかり易く解説しています。
マクロとは? マクロでなにができるの?
事務作業を行っている方なら、Excelを利用していて、マクロという言葉をよく耳にすることがあると思います。
マクロは簡単に言うと作業の自動化ツールです。

Excelでは、一度行った作業を記録しておき、マクロとして登録しておくことが出来ます。
やりたい事を記録するだけで、同じことをするためのプログラムを内部で自動作成してくれます。
この時、内部で自動作成されたプログラムが VBA(Visual Basic for Applications)なんです。
要するに、マクロはプログラムが出来ない人でも簡単にプログラムが作成(内部的に)できてしまう機能です。
マクロを活用することで、次回以降全く同じ作業を行う場合に、コンピュータが自動で同じ作業を行ってくれます。
つまり、マクロを活用することでプログラムを知らずとも簡単に作業の効率化ができるという訳です。
例えば、セルA1とB1に数字を入力して、セルC1に答えを入力する、セルC1の色を背景色を赤にする。
この様に操作した内容を全て記録して、次回以降、マクロを選択するだけで全く同じことをやってくれるのです。
どうですか、とても便利でしょ?良く分からないと難しそうで嫌だなぁとなりますが、仕組みが分かると使ってみたくなりますよね。
マクロを記録して使うには?
Excelマクロの作り方はとても簡単です。メニュータブ『開発』の中より操作して登録や利用を行います。
Excelの初期設定では開発タブが表示されていません。
開発タブを表示するには、エクセルのホームメニュー ⇒ Excelのオプション ⇒ 基本設定の順に操作して『開発タブをリボンに表示する』にチェックを入れます。
マクロを記録するには?
では、マクロの記録から利用までの流れをご紹介します。
マクロを記録するには、開発タブの『マクロの記録』ボタンを押します。

次に、マクロ名とマクロの保存先と説明を入力してOKボタンを押します。
ここでOKボタンを押すと即座にマクロの記録が始まりますのでご注意ください。

記録したい操作を実際に行い、操作が完了した時点で『記録終了』ボタンを押してマクロの記録は完了です。

いかがでしょうか、自動でやってほしい操作を実際に手でそのまま操作して、それが記録されるだけなのでとても簡単にマクロが作成できたと思います。
マクロを実行するには?
では、作成したマクロはどうやって実行するのでしょうか?
これも簡単です。
登録したマクロを実行するには、まず『開発タブ』のマクロボタンを押します。

登録済マクロが一覧表示されますので、実行したいマクロ名を選択して『実行』ボタンを押すことでマクロを実行できます。

以上がマクロの記録から、マクロの実行までの簡単な流れになります。
仕組みとやり方を知ってしまうと何ということもないと気づくと思います。
毎回同じ事をする場合はマクロ化して作業の効率化を図ってみましょう。
VBAとは? VBAでなにができるの?
VBAは簡単に言うとプログラミング言語です。
Microsoft Visual Basic というプログラミング言語をOfficeソフト(ExcelやAccessやWordなど)で利用できるようにしたものが VBA(Visual Basic for Applications)です。
そのためVBAで何かをやろうと思う場合、マクロの作成と違い直接プログラミングをする必要があります。

マクロでもある程度自動化した処理を作れますが、メッセージを出力する、外部ファイルを開く、外部ファイルのデータを取り込む、特定の条件によって処理を変更するなど、ちょっと複雑な内容になるとマクロでは実現することが困難になります。
こういったときに、VBAで直接プログラミングすると色々実現する事が出来るようになります。
VBAは数あるプログラミング言語の中でも割と簡単な部類にはなりますが、全くの初心者の方からするとやはりハードルが高いです。
ですが、恐れず少しずつ勉強をしていくことで、いつの間にかある程度の事がVBAで作れるようになります。
VBAが出来るだけでワンランク上になれることは間違いないので、これを機に勉強をしてみてはいかがでしょう。
コツは「何をやりたいか」をベースに調べることです。
今はインターネットが普及しているため、ありとあらゆる情報をインターネット上で見つけることが出来ます。
例えば『VBA ファイル選択 サンプル』などと検索すると、親切にサンプルのソースコードまで掲載してくれています。
当サイトでも下記の記事でファイル選択のサンプルコードを掲載しています。
まとめ
・マクロは作業の自動化ツールでVBAはOffice用のプログラミング言語そのもの。
・マクロの中身は実はVBAで出来ている。