dポイントプレゼントキャンペーン実施中!

Excelで一覧表を作成し、
『印刷A3』と『印刷A4』というボタンを作り、
それぞれ印刷範囲が異なるようにマクロを組みたいと思い、『印刷A3』の場合は下記のマクロで問題ありませんでした。

【印刷A3】
-------------------------------------------------
Sub 印刷A3_Click()

Worksheets(7).PageSetup.PrintArea = _
Range("A6").CurrentRegion.Address
With Worksheets(7).PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperA3
.Zoom = 63
End With
Worksheets(7).PrintOut Preview:=True
End Sub
-------------------------------------------------

セルA6以降の入力されているセルを選択できるのですが、『印刷A4』の場合は、列の範囲を23列までとし、23列目以降は印刷範囲外としたいです。
(列は最大で33列まであります)
行は『印刷A3』と同じように、入力されている全てのセルを範囲としたいです。

マクロ初心者のため、教えていただけると助かります。
よろしくお願い致します。

A 回答 (2件)

#01です。

.Addressが抜けていました。差し替えます

Printoutの実行前に
DIM rng as Range

Set rng = Worksheets(7).Range("A6").CurrentRegion
Worksheets(7).PageSetup.PrintArea = rng.Resize(rng.Rows.count , 23).Address
を埋め込んで下さい。

Worksheets(7).PageSetup.PrintArea = Worksheets(7) _
.Range("A6").CurrentRegion.Resize(Worksheets(7) _
.Range("A6").CurrentRegion.Rows.count,23).Address

でも一緒ですが記述が長くなるので一旦rngにセットしています
    • good
    • 0
この回答へのお礼

うまくいきました!!
Resizeプロパティは知りませんでした。
わざわざ訂正までしていただき、誠にありがとうございました。
とても勉強になりました。

お礼日時:2006/07/14 16:01

Printoutの実行前に


DIM rng as Range

Set rng = Worksheets(7).Range("A6").CurrentRegion
Worksheets(7).PageSetup.PrintArea = rng.Resize(rng.Rows.count , 23)
を埋め込んで下さい。

Worksheets(7).PageSetup.PrintArea = Worksheets(7) _
.Range("A6").CurrentRegion.Resize(Worksheets(7) _
.Range("A6").CurrentRegion.Rows.count,23)

でも一緒ですが記述が長くなるので一旦rngにセットしています
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!