【VBAリファレンス|実務向け】シートの末尾にコメントを印刷する|Excel 一般

スポンサーリンク

なぜこの設定が重要なのか

Excelで資料を作成する際、セルの補足情報を「コメント」として残すことはよくあります。しかし、標準の設定では画面上には表示されても、印刷時にはコメントが出力されなかったり、逆にセル上に重なって表示されて邪魔になったりすることがあります。
今回のTipsを活用すれば、報告書やマニュアルを作成する際、本文のレイアウトを崩さずに補足説明を別紙(シートの末尾)としてスマートに印刷できるようになります。読み手にとっても、本文と注釈が整理されるため、非常に親切なドキュメントになります。

基礎知識

Excelの「コメント(新しいバージョンではメモ)」は、セルに対して付随するメモ機能です。通常、印刷設定は「なし」になっているか、「画面表示イメージ通り」に設定されています。これらを変更することで、印刷時にのみコメントを別ページとして抽出する設定が可能です。この設定は、ブック全体ではなく「シート単位」で制御されていることを覚えておきましょう。

実装手順

操作は非常にシンプルです。以下の手順で設定を変更してください。

1. 印刷したいシートを表示します。
2. [ページレイアウト]タブを開き、[ページ設定]グループの右下にある小さな矢印(ダイアログ起動ツール)をクリックします。
3. 表示された[ページ設定]ダイアログボックスの[シート]タブを開きます。
4. [コメント]という項目のプルダウンリストから「シートの末尾」を選択します。
5. [OK]ボタンを押して確定します。

これで、印刷を実行した際、シートのデータがすべて印刷された後に、自動的にコメントの一覧ページが追加されるようになります。

サンプルプログラム

業務で複数のシートを一括処理したい場合、いちいち手動で設定するのは手間ですよね。VBAを使えば、アクティブなシートのコメント印刷設定を一瞬で切り替えることができます。

Sub SetCommentsToPrintAtEnd()
‘ アクティブなシートの印刷設定を変更するマクロ
‘ 印刷時にコメントをシートの末尾に印刷するように設定します

On Error GoTo ErrorHandler

With ActiveSheet.PageSetup
‘ xlPrintSheetEnd は「シートの末尾」を意味する定数です
.PrintComments = xlPrintSheetEnd
End With

MsgBox “現在のシートのコメント設定を「シートの末尾に印刷」に変更しました。”, vbInformation
Exit Sub

ErrorHandler:
MsgBox “エラーが発生しました。シートが保護されていないか確認してください。”, vbCritical
End Sub

応用・注意点

・メモとコメントの混同に注意: 最新のExcelでは「メモ(従来のコメント)」と「コメント(スレッド形式の新しい機能)」があります。この設定は主に「メモ」に対して有効です。新しいスレッド形式のコメントは、別途[コメントの印刷]設定が必要になる場合があります。
・印刷プレビューの確認: 「シートの末尾」を選択すると、データ量によっては印刷枚数が急激に増える可能性があります。設定を変更した後は、必ず[印刷プレビュー]画面で、意図した通りに別紙が出力されるかを確認してから印刷を実行するようにしましょう。
・自動化のメリット: 大量のシートを扱う場合、上記のようなVBAを「Personal.xlsb(個人用マクロブック)」に登録しておくと、ワンクリックで印刷設定を統一できるため、事務作業の効率が劇的に向上します。

タイトルとURLをコピーしました