はじめに

VBAの書き方をすべて覚えるのは至難の技です。Excelでの操作方法はわかっているが、VBAでのメソッド(命令)がわからない時、調べる方法でとても便利な方法があります。マクロの記録で書いてみるという方法です。

マクロの記録で手順を記憶させると、VBAのリストに変換してくれます。そのまま使っても便利につかえますが、記録された一部を使って自分のやりたい処理手順に修正して使うと、より適切なプログラムを作ることができます。また、VBAのメソッドをヘルプで探すより、簡単に見つけることができます。今回はこのマクロの記録に注目して、例題を作ってみたいと思います。

ゼロからはじめるVBA - 基本編
ゼロからはじめるVBA - VBA事始め編
ゼロからはじめるVBA - セル操作編
ゼロからはじめるVBA - 条件による分岐編
ゼロからはじめるVBA - 繰り返し処理編
ゼロからはじめるVBA - ユーザーフォーム編

マクロの記録でVBAのメソッドを調べる

マクロの記録は、毎日行う同じ作業手順を覚えさせて、ボタンやキーボードから記録したマクロを呼び出すだけで、作業を自動化させることができるものです。自動実行処理も、とても便利なものです。が、マクロの記録は自動実行以外にも、処理させたいメソッドを調べるという意味でも便利に使用することができます。基本編でマクロの記録には触れていますが、ここでもう一度記録する手順を見て行きたいと思います。

マクロの記録手順

印刷処理をマクロで書きたくなった時、マクロの記録を使って調べる方法をみていきましょう。印刷処理はワークシート上では良く使用しますが、VBAではどのように書くかわかりません。マクロの記録で印刷を行いVBAではどのように書くのかを確認してみましょう。 印刷する表を考えてみました。

図1:印刷例題

エレベータ定期点検のお知らせです。通常の印刷手順をマクロの記録で記録してみましょう。[開発]-[マクロの記録]をクリックします。「マクロの記録」ダイアログが表示されるので、そのままボタン名[OK]を押してください。

図2:印刷マクロの記録手順

ここからの処理が記録されます。まず印刷したいシートに移ります。[Officeボタン]-[印刷]-[印刷]で印刷用のダイアログが表示されるので、[OK]ボタンを押してください。印刷されたものを確認して大丈夫であれば、記録終了アイコンを押します。

図3:記録終了アイコン

記録されたマクロを見てみましょう。

以下説明するリストはsample.lzhの中に「印刷例題.xlsm」「挿入マクロ.xlsm」として収録しています。サンプルとしてご活用ください。

[リスト1]Macro1(印刷例題.xlsm)

Sub Macro1()
'
' Macro1 Macro
'
    Sheets("印刷").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub

印刷用シートに移って印刷しています。「ActiveWindow.SelectedSheets.PrintOut」で印刷ができるようです。「Copies:=1」は引数です。引数は、PrintOutメソッドにどのような形式で印刷してほしいか、設定するものです。マクロの記録でPrintOutメソッドを使うのだ、ということがわかりました。次は、PrintOutメソッドについて、Excelのヘルプを使って調べてみましょう。[開発]-[VisualBasic]でVBEを表示します。VBEの[ヘルプ]-[Microsoft Visual Basicヘルプ]をクリックします。検索文字に「PrintOut」を入れて検索します

図4:PrintOutメソッドのヘルプ

Window.PrintOutをクリックして内容を確認してください。以下の構文の説明が書いてあります。