地方都市に住む中年女性の試行錯誤

10万人規模の小都市に住むワーママの日々を綴っています

ChatGPTにエクセルのマクロについて質問

以前から解けなかったエクセルのマクロ

 

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で印刷する

(マクロ使わない)

 

マクロより前に、エクセルの使い方を考え直した方が良いかもしれませんね、、。