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

印刷範囲を自動で変更できるようにしたいので、名前の定義を使って
以下の手順で設定したのですがうまくいきません。
どなたか原因がわかる方いましたら修正の方法を教えてください。

前提条件は次の通りです。

≪前提条件≫
・印刷したい範囲は、セル$C$7:$H$●で、●の数字が可変となります。
 実際は●を表す関数をセル$A$1に設定してあり、そこに入る数字が増減します。
 (つまり、横幅は決まっていますが、縦幅が可変となります。)
・同ページ内の印刷対象範囲内外には、表の内容に関する関数を設定しているセルが
 複数箇所あります。
・「ページ設定」のシートタブ>印刷範囲は、空欄になっています。

≪手順≫
------------------------------------------------------------
まず、
任意の名前をつけ、名前の「範囲」で同シートを選択し、
「参照範囲」に次の式を入れました。

 参照範囲 =$C$7:OFFSET($C$7,0,5,$A$1)

次に、
参照範囲の式にカーソルをあてると、画面の参照範囲が点滅線で囲まれ、
正しく指定されていることが確認できました。

そこで、印刷プレビューを見てみると、
先ほどの点滅線で囲まれていた範囲ではなく、
ページの全範囲が表記されてしまいます。
------------------------------------------------------------
以上、よろしくお願いいたします。

A 回答 (2件)

・「ページ設定」のシートタブ>印刷範囲に参照範囲に付けた名前を入力してください。

ただし、その場合毎回入力しないといけないようですのでマクロで

Sub 印刷範囲設定()

ActiveSheet.PageSetup.PrintArea = "=$C$7:OFFSET($C$7,0,5,$A$1)"

End Sub

とか作って利用されてはいかがでしょう。
    • good
    • 0
この回答へのお礼

早速ご回答いただき、ありがとうございました。
教えていただいたマクロを実行してみましたところ、
おかげさまでうまくいきました!数値を更新するたびに
マクロを実行すれば印刷範囲が更新されるということなのですね。
勉強になりました。ありがとうございました。

お礼日時:2013/11/14 14:58

どこかを適当に印刷範囲にしてみるとわかるのですが、Excelは印刷範囲に「Print_Area」という名前がつきます。



逆に言うと、「Print_Area」と言う名前を付けるとそこが印刷範囲になるのです。
ですから、

>任意の名前をつけ

の部分を任意ではなく「Print_Area」にしてみては如何でしょうか?
一旦、どこかを印刷範囲にして名前を作ってからその参照範囲に数式を入れるといいと思います。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。
なるほど、先にPrint_Areaを設定してから範囲を変更するという手順で進めると良いのですね。
NO.1のkmetu様の回答と合わせて、教えていただいた方法でやってみましたところ、
おかげさまでうまくいきました。ページ設定シートタブの印刷範囲は更新すると
名前の定義の名前ではなく範囲の表記に変わるようですが、更新してマクロを実行すると
正しく範囲が変更になっており、きちんと反映されていました。ありがとうございました。

お礼日時:2013/11/14 14:59

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

このQ&Aを見た人はこんなQ&Aも見ています