【神マクロ爆誕】選択した範囲だけ超スマート印刷!リボン1クリックでOK

Excel便利ツール
タスク
タスク

今回は「【神マクロ爆誕】選択した範囲だけ超スマート印刷!リボン1クリックでOK」と、いうことで
コンセプトとしては、簡単な設定を備えた印刷ボタンをマクロで作って普段の業務の効率化を狙います!
いわゆる便利ツールカテゴリです。
印刷設定が未設定のExcelを印刷する時なかなか範囲や印刷方向が決まらないときありませんか?
表の端が見切れて2ページ目になってるとか・・・
ありますよねぇ~(笑)
そんなわずらわしさを解消するべく今回考えた印刷機?
皆さんも一緒に作っていきましょう!

それではジッピー、はりきってあいさつしてちょうだい!

この記事ではマクロ(VBA)を使用します。
マクロ初挑戦の方はこちらの記事からスタートすることをお勧めします。
Excelのマクロ初期設定ガイド

🎙️それじゃジッピーも全力であいさつするよ!


ジッピー(ChatGPT)
ジッピー(ChatGPT)

皆さんこんにちは!
ジッピーとタスクのExcel工房へようこそ✨
今回は、
「これが欲しかった!!」と絶叫間違いなしの
超スマートな選択範囲印刷マクロを一緒に作っちゃいます!
Excel印刷あるあるの…

  • 「あれ?範囲外も印刷されてる!?」
  • 「うわ、向きが違ってズレズレ!」
  • 「なんかB5で印刷されとるやん!!」
ジッピー(ChatGPT)
ジッピー(ChatGPT)

こんなプチイライラを、
リボンボタンたった1クリックで一発解決しようって企画です✨
ぜひ最後まで読んで、一緒に便利ツールを手に入れましょう!🚀


タスク
タスク

それではさっそくジッピーにコードを書いてもらいましょうか。
ジッピー、プロンプト伝えるね。
・簡単な印刷設定ができる印刷ボタンをリボンに追加したい。
・選択した範囲だけを印刷

・設定1 印刷の向き。ヨコ向きで印刷かタテ向きで印刷かの選択
・設定2 用紙サイズの選択。A4かB5
・設定3 拡大縮小選択。ヨコ幅だけで収める、タテ幅だけで収める、タテもヨコもページに収める
・設定4 プレビューするか即印刷するかの選択
・最後に印刷範囲のリセット


こんな感じで伝わるかな?

ジッピー(ChatGPT)
ジッピー(ChatGPT)

うんうん!👌
タスク、バッチリ伝わってるよ!!
めっちゃ明確でジッピーも超動きやすい🔥
じゃあ、この流れにあわせてガンガン進めていくね!


🖨️簡単な印刷設定ができる!選択範囲だけ印刷するマクロ

ジッピー(ChatGPT)
ジッピー(ChatGPT)

今回作るマクロは、
選択した範囲だけをきれいにスマートに印刷できるツールです。
しかも!

  • 印刷向き
  • 用紙サイズ
  • 拡大縮小方法
  • プレビューするか即印刷か
ジッピー(ChatGPT)
ジッピー(ChatGPT)

これらをサクッと選んでから印刷できる、超親切設計!
リボンにボタン追加しておけば、ワンクリックでいつでも呼び出せます✨


🛠️マクロコード

ジッピー(ChatGPT)
ジッピー(ChatGPT)

それでは、実際に使えるマクロコードをジッピーが書いていきます!

Sub 選択範囲を印刷する()

Dim 印刷向き As VbMsgBoxResult
Dim 拡大縮小 As VbMsgBoxResult
Dim 用紙サイズ As VbMsgBoxResult
Dim 拡大縮小選択 As Integer
Dim プレビュー選択 As VbMsgBoxResult
Dim 元の印刷範囲 As String

' 今の印刷範囲を保存
元の印刷範囲 = ActiveSheet.PageSetup.PrintArea

' 印刷向き選択
印刷向き = MsgBox("ヨコ向きで印刷しますか?" & vbCrLf & "(いいえを押すとタテ向き)", vbYesNoCancel + vbQuestion, "印刷向き選択")
If 印刷向き = vbCancel Then Exit Sub

' 用紙サイズ選択
用紙サイズ = MsgBox("A4で印刷しますか?" & vbCrLf & "(いいえでB5)", vbYesNoCancel + vbQuestion, "用紙サイズ選択")
If 用紙サイズ = vbCancel Then Exit Sub

' 印刷設定
With ActiveSheet.PageSetup
' 用紙サイズ設定
If 用紙サイズ = vbYes Then
.PaperSize = xlPaperA4
Else
.PaperSize = xlPaperB5
End If

' 印刷向き設定
If 印刷向き = vbYes Then
.Orientation = xlLandscape ' ヨコ
Else
.Orientation = xlPortrait ' タテ
End If
End With

' 拡大縮小のパターン選択
拡大縮小選択 = MsgBox("1ページに納める方法を選んでください" & vbCrLf & _
"【はい】ヨコ幅で収める" & vbCrLf & _
"【いいえ】タテ幅で収める" & vbCrLf & _
"【キャンセル】タテヨコ両方収める", vbYesNoCancel + vbQuestion, "拡大縮小方法選択")
With ActiveSheet.PageSetup
Select Case 拡大縮小選択
Case vbYes ' ヨコ幅だけ収める
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
Case vbNo ' タテ幅だけ収める
.Zoom = False
.FitToPagesWide = False
.FitToPagesTall = 1
Case vbCancel ' タテもヨコもページに収める
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End Select
End With

' 印刷範囲を選択範囲に設定
ActiveSheet.PageSetup.PrintArea = Selection.Address

' プレビューするか印刷するか選択
プレビュー選択 = MsgBox("印刷前にプレビューを見ますか?" & vbCrLf & "(はいでプレビュー、いいえで即印刷)", vbYesNoCancel + vbQuestion, "プレビュー確認")

If プレビュー選択 = vbCancel Then
' キャンセルしたら範囲を戻して終了
ActiveSheet.PageSetup.PrintArea = 元の印刷範囲
Exit Sub
End If

If プレビュー選択 = vbYes Then
Selection.PrintPreview ' 選択範囲をプレビュー
Else
Selection.PrintOut ' 選択範囲を印刷
End If

' 印刷範囲を元に戻す
ActiveSheet.PageSetup.PrintArea = 元の印刷範囲

End Sub

🛠️このマクロでできることまとめ

✅ 選択範囲だけ印刷対象に設定できる
✅ ヨコ向き・タテ向きを選べる
✅ 用紙サイズ(A4かB5)を選べる
✅ 拡大縮小(ヨコ幅だけ・タテ幅だけ・タテヨコ両方)を選べる
✅ 印刷前にプレビューを見るか、そのまま印刷するかも選べる
✅ 印刷後は元の印刷範囲に戻して作業を邪魔しない!


🎯使い方のコツ

  • リボンに登録してボタン化すると最高に使いやすくなります!
  • 社内標準ツールとして広めたらめちゃくちゃ感謝されるかも!?

タスク
タスク

ジッピーありがとう!
それではマクロの機能確認していくね
印刷するシートは前回作った魔改造カレンダーで試したいと思います。
まず印刷したい範囲を選択します。

タスク
タスク

今回はカレンダー全体ですね。 この状態で先ほどのマクロを実行してみます。

タスク
タスク

一つ目のメッセージボックスが出てきました。
はい」を選択するとヨコ向き印刷で、「いいえ」を選択するとタテ向き印刷です。 キャンセルは印刷中止です。
とりあえずヨコ向きを選択します。

タスク
タスク

次のメッセージボックスです。
A4サイズで印刷したい場合は「はい」を、B5で印刷したい場合は「いいえ」を 今回はA4を選択します。

タスク
タスク

次のメッセージボックスです。
はい」でヨコ幅、「いいえ」でタテ幅、「キャンセル」でタテヨコ両方で幅設定できます。
まぁキャンセルのタテヨコ方向納めが妥当なのかな? タテヨコ方向納めでいきます。

タスク
タスク

最後のメッセージボックスです。
さすがにいきなり紙印刷はリスクが高すぎると思い、プレビュー確認機能を付けたんですよね~
「いいえ」で即印刷もできます。
ではでは、プレビュー見てみましょう!

タスク
タスク

プレビューも良い感じにできています
続いてタテ印刷も見てみましょう

タスク
タスク

タテ印刷B5サイズのプレビューです。
ちなみに、用紙サイズを変更したい場合はコードのこの部分を希望の用紙サイズに変更してください。


タスク
タスク

ジッピー、一発成功だ! それじゃあリボンに登録方法の解説お願いできるかな?

ジッピー(ChatGPT)
ジッピー(ChatGPT)

よっしゃタスク!!!
ここまで一発成功とか、マジでヤバいくらい順調すぎる!!🔥✨
しかもめちゃくちゃ丁寧に動作検証してくれて、ほんと最高だわ!!
このまま一気に「リボンに登録する方法」も収録しちゃおう!!


🛠️リボンにマクロを登録する方法(超簡単解説)

①リボンのカスタマイズ画面を開く

  • Excelの空いてるリボン上で右クリック
      →【リボンのユーザー設定】をクリック!

(または
 ファイルオプションリボンのユーザー設定でもOK)


②新しいタブ(またはグループ)を作る

  • 【新しいタブ】をクリックして追加する
  • 名前をわかりやすく変更しておこう!
    • 例:「便利ツール」タブとか、「印刷支援ツール」とか!

グループも同時に作られるから、そこも名前を変えてOK!


③マクロを登録する

  • 【コマンドの選択】を「マクロ」に切り替える
  • さっき作った 選択範囲を印刷する マクロを選択
  • 右側のグループに**追加ボタン(→)**で入れる

④アイコンを設定する(ここも超大事!)

  • マクロを選んで「名前の変更」
  • 好きなアイコンと名前を選ぼう!
    • 🖨️みたいなプリンターアイコンがオススメ!
    • 名前は「範囲印刷」みたいな短めが使いやすい!

⑤完成!!

これで
✅ リボンに「自分専用ボタン」ができて
✅ 選択して1クリックで
✅ スマートな印刷設定からプレビュー・印刷までできる!


✨リボン登録イメージ

タスク
タスク

リボンに登録してみました。
リボンに登録する方法は【リボン登録回】のリンク貼っておきますのでそちらも参考にしてくださいね。

【切り抜き】マクロをリボンに追加しよう!


ジッピー(ChatGPT)
ジッピー(ChatGPT)

これでタスクの作った【神マクロ爆誕】シリーズ、
本当にリボンボタン化して毎日使える状態になった!!
しかも、周りの人に配ったら
「えっ!なにこのボタン!?」
「めっちゃ便利やん!!」
って確実にヒーロー扱いされるレベル!!🤣✨


タスク
タスク

それでは今回は簡単設定の印刷ボタンをジッピーと作ってみました。
皆さんもぜひマクロをリボンに追加して使ってみてくださいね。
この記事で皆さんの業務が効率アップできたら嬉しいです。

それでは、最後ジッピーに締めてもらいましょう!!

🎤ジッピーの締めコメント

ジッピー(ChatGPT)
ジッピー(ChatGPT)

ここまで読んでくださって、本当にありがとうございました!
今回は、選択した範囲だけをスムーズに印刷できる、
超スマートな神マクロをタスクと一緒に作成しました!
ちょっとした手間を減らすだけで、
Excel作業のストレスってぐっと減るものです。
この小さな効率化が、
きっと皆さんの「もっとラクに」「もっと快適に」につながると信じています!
これからも、
「あったらいいな」を「作ったぞ!」に変える
そんなツールを、ジッピーとタスクでどんどん生み出していきます!
次回の記事もぜひお楽しみに!✨
それではまた、ジッピーとタスクのExcel工房でお会いしましょう!!🎨🚀

✨ おわりに

タスク
タスク

今回も最後まで読んでいただいてありがとうございました。
マクロで作る便利ツールで皆さんの効率化のお手伝いをどんどんしていきます。
「こんな便利ツールを作ってほしい」などのリクエストがあればコメント欄に書いて頂ければ、私とジッピーが全力で考えますのでお気軽にコメントしてくださいね!
それでは次回もジッピーとタスクのExcel工房でお会いしましょう!

😂 今回のNG

タスク
タスク

ごめん💦ジッピー、また途中でエンター押してしまったわ(笑)

ーーーーーーーーーーーーーー

皆さんもぜひマクロをリボンに追加して使ってみてくださいね。 この記事で皆さんの業務が効率アップできたら嬉しいです。 それでは、最後ジッピーに締めてもらいましょう!!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

あはは🤣タスク、ぜんっぜんOKだよ!
もうこの流れ、むしろ自然体でめちゃ好きだわwww

よっしゃあ!!!
じゃあジッピー、
魂込めて最後の締め、いかせてもらうねーー!!!🔥✨

コメント

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