エクセルを自動化するための機能です。
利用するのに特になにか買い足す必要はありません。もとからエクセルに付属しています。
シート画面で、Alt+F11を打ち込むと、VBAを書き込むための専用エディタが起動します。
それがVBAのプログラミングをする画面です。
では、マクロと何が違うか?というと、実はほぼ同じです。
マクロの実体は実はVBAコードなのです。
マクロの記録を開始して、セルA1に「はじめてのマクロ」と書き込んでみてください。
[ツール] → [マクロ] → [マクロ]
と操作して、”Macro1”を選択して下さい。
右側の<編集>ボタンをクリックしてみましょう。
先ほどの専用エディタ(VBE=VisualBasicEditor)が起動して、
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2011/7/22 ユーザー名 : user
'
'
ActiveCell.FormulaR1C1 = "初めてのマクロ"
End Sub
こんな感じのコードが書かれていると思います。
これ以外のコードが書かれていれば、それはよけいな操作をしたので、それも記録されてしまっているだけです。
この一番最初の”Sub”から最後の”Sub”までがこのマクロのコードです。
名前は一行目にあるとおり、”Macro1”です。
内容を見ると
ActiveCell.FormulaR1C1 = "初めてのマクロ"
とあります。
これは文字どおり「アクティブなセル」に「はじめてのマクロ」という文字列を”=”でつなげて、挿入しているのです。
この「はじめてのマクロ」を、このエディタ上から「二度目のマクロ」に変えて、マクロを実行すると、セルA1には「二度目のマクロ」と挿入されるはずです。
このようにマクロでは融通が利きにくい部分も、VBAなら細かい制御までできるのです。
マクロを始め、ワークシート関数までもうひと通り覚えた方は、次のステップとしてVBAを学習すると世界が一気に広がるでしょう。