以前から解けなかったエクセルのマクロ
A4サイズで作成した書類を
A3サイズにして印刷したい
または、
A3サイズとA4サイズを好きなタイミング(例.ボタンを押したら)で
変更させたい
というマクロを、最近話題のchatGPTで聞いてみました。
違う聞き方をしたものもあるので、
答えが複数出てきました。
まず、一つ目
Sub SetA3Page()
With ActiveSheet.PageSetup
'用紙サイズをA3に設定
.PaperSize = xlPaperA3
'用紙の向きを縦向きに設定
.Orientation = xlPortrait
'余白を設定(単位はcm)
.LeftMargin = Application.CentimetersToPoints(1.5)
.RightMargin = Application.CentimetersToPoints(1.5)
.TopMargin = Application.CentimetersToPoints(1.5)
.BottomMargin = Application.CentimetersToPoints(1.5)
'フィット印刷を無効にする
.Zoom = False
End With
End Sub
このマクロを実行すると、現在アクティブなシートがA3用紙に設定されます。余白の設定は、必要に応じて変更してください。また、マクロの実行前には、A4用紙の設定がされていることを確認してください。
縦向き指定なのだな…などと思う事もありますが
それでもここまで出てくれば凄いなと思います。
そして、もう一つ出ました。
Sub ChangePageSize()
ActiveSheet.PageSetup.PaperSize = xlPaperA3
End Sub
アクティブなシートをA3にして
って簡単な感じのマクロでした。
どちらも正しいのか正しくないのか
検証は必要ですが、それでも
超初心者の頭(私)が参考書をひっぱりひっぱり考え出すより
随分早いと思います。
そもそもこんな質問を尋ねたのも、仕事上で
A4で作成したエクセルのシートをA3で印刷する
という業務があって、
面倒くさいな…
とずっと思っていたからなのです。
結果的に落ち着いた解決方法は
印刷したいシートを全て選択→PDFで保存→PDFをA3で印刷する
(マクロ使わない)
マクロより前に、エクセルの使い方を考え直した方が良いかもしれませんね、、。