印刷にExcel VBAを使用する方法
世界中の何百万もの中小企業のオーナーや起業家は、一般的な会計、予測、在庫管理の仕事を手助けするためにMicrosoft Excelを使用しています。 Excelの統合ツールを使用すると、スプレッドシートまたはワークブックを電子メールで添付ファイルとして誰かに送信するのは比較的簡単です。 それにもかかわらず、何もスプレッドシートデータのハードコピーを打つことが何度もあります。 もちろん、リボンバーの[ファイル]メニューから[印刷]を選択して、スプレッドシートの印刷版を作成することもできます。 ただし、Visual Basic for Applications(VBA)を使用して、Excel内でさまざまな印刷タスクをより高速かつ効率的に実行するためのマクロまたはコマンドボタンを作成することもできます。
開発者タブをアクティブにする
1。
Microsoft Excelを起動し、VBA印刷機能をプログラムするワークブックまたはテンプレートを開きます。 Excelリボンの[ファイル]をクリックし、[オプション]をクリックします。
2。
[Excelのオプション]ウィンドウの左ペインにある[リボンのカスタマイズ]ヘッダーを探してクリックします。 [リボンのカスタマイズ]ラベルの下の[メインタブ]セクションにある[開発者]の横にあるチェックボックスをクリックします。
3。
[OK]ボタンをクリックしてリボンの[開発者]タブを開き、[Excelのオプション]ウィンドウを閉じます。 オプションウィンドウを閉じると、リボンバーに[開発者]タブが自動的に表示されます。
VBAを使用して印刷ボタンを作成する
1。
リボンの[開発者]タブをクリックします。 [開発者]タブの[コントロール]セクションにある[挿入]アイコンのドロップダウン矢印をクリックします。 「フォームコントロール」の下にある「ボタンコントロール」アイコンをクリックします。
2。
印刷ボタンを配置するスプレッドシートのセルをクリックします。 セルをクリックして選択すると、[マクロの割り当て]ウィンドウが自動的に表示されます。
3。
「マクロ名」フィールドに「PrintCurrentSheet」または同様のものを入力します。 マクロ名にスペースを使用しないでください。 「新規」ボタンをクリックしてください。 Visual Basic for Applicationsエディタウィンドウが表示され、新しいコードウィンドウが表示されます。
4。
「Sub PrintCurrentSheet()」と「End Sub」値の間の行スペースにマウスカーソルを置きます。 次のコマンドを入力してください。
ActiveSheet.PrintOut
5。
コードを保存するには、VBAエディタツールバーのフロッピーディスクアイコンをクリックします。 VBAエディタウィンドウを閉じます。
6。
新しいコマンドボタンを右クリックして、デフォルトの「ボタン1」というテキストをハイライトします。 ボタンラベルのテキストを「クイックプリント」または別のわかりやすい名前に変更します。
7。
新しいコマンドボタンをクリックします。 Excelは、通常の「印刷」ダイアログボックスを表示せずに、アクティブなスプレッドシートをデフォルトのWindowsプリンタに印刷します。
ヒント
- 同じ方法を使用して、VBAを使用してExcelで多数の印刷機能を作成できます。 印刷機能ボタンの作成手順は同じです。 コマンド構文が異なるだけです。
- [印刷]ダイアログウィンドウを表示せずに現在のワークブック内のすべてのワークシートを印刷するには、 "ActiveSheet.PrintOut"コマンドを "Worksheets.PrintOut"または "ActiveWorkbook.PrintOut"(引用符なし)に置き換えます。
- VBAコードの「Selection.PrintOut」コマンドを使用して、マウスで選択したセルだけにクイックプリントボタンを作成できます。
- Windowsのデフォルト以外の特定のプリンタに印刷する場合は、VBAコードウィンドウのコマンドボタンに次のコードを使用します。
- Sub QuickChangePrinter()
- 文字列として薄暗いsNewPrinter
- sNewPrinter = ActivePrinter
- ActivePrinter = "プリンタのWindows名をここに入力してください"
- Application.PrintOut FileName:= ""
- ActivePrinter = sNewPrinter
- 終了サブ