- 締切済み
エクセルの印刷範囲設定について
表を印刷したいのです。 あらかじめ罫線を多めに引いています(たとえばA1:E100) データ入力を数行(たとえば30行まで)入力した時点で その部分のみ印刷したい場合印刷範囲の設定で A1:E30 と指定すればよいのですが、 次に40行目まで入力したとき範囲設定を再設定したくなく、 常に入力された部分まで印刷範囲を自動設定することは可能でしょうか。 =OFFSET(sheet1!A1,0,0,COUNTA(sheet1!A:A),5) と入力しても、次に開いたときには A1:E30 になってしまいます。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- suzusan7
- ベストアンサー率64% (22/34)
一部訂正です。 =OFFSET(sheet1!A1,0,0,COUNTA(sheet1!A:A),5) ではなく、 =OFFSET(sheet1!$A$1,0,0,COUNTA(sheet1!$A:$A),5) と全て絶対範囲にしてください。 相対範囲では場所が変わってしまいますね。 2002しか手元にないので他のバージョンではわかりませんが、2002では問題なく動作してます。 「ファイル」-「ページ設定」-「シート」タブの印刷範囲を適当に設定し、 そして、名前定義のPrint_Areaの参照範囲に 上記の絶対参照にした式を入力してください。 このようにPrint_Areaを数式で入力しても(飽くまでも印刷範囲の設定ではなく名前定義です) 次に開くと印刷範囲が最終の範囲等にでも置換されてしまうのでしょうか? ページ設定の印刷範囲は範囲に置き換えられていると思いますが、 名前定義の参照範囲は数式から変わらないと思うのですが。。。 それで変わってしまうのであればあなたの使用しているバージョンでは参照範囲可変の名前定義が使えないということになりますね。
- suzusan7
- ベストアンサー率64% (22/34)
こんにちわぁ。 名前定義を使用するとお望みのことができると思います。 ツールバーから「挿入」-「名前」-「定義」を選択します。 名前の欄に「印刷範囲」と入れます。 (これは区別できれば何でも構いません) そして、下の参照範囲に =OFFSET(sheet1!A1,0,0,COUNTA(sheet1!A:A),5) とh20060121さんが書いている式を入力して 追加ボタンを押します。 名前の一覧に印刷範囲が追加されるはずです。 そのまま一覧にあるPrint_Areaを選択します。 そして、下の参照範囲に =印刷範囲 と入力します。(名前定義でつけた範囲名です。) そして追加ボタンを押します。 これでお望みのとおりになるかと思います。 要は印刷の設定でやるのではなく、名前定義でやれば できると思います。
お礼
補足
その方法はすでに試しています 私のエクセルでは、名前定義でも不可能でした。
- keirika
- ベストアンサー率42% (279/658)
1.表のどこか1つのセルをクリックします 2.Ctrl+Shift+:(コロン)を同時に押します 3.ファイル>印刷の選択した部分をチェックし、OKを押します
補足
質問文に書き忘れましたが 累計列がE列(100行目まで関数入力済み)なので、 その方法が使えないのです 基本となるA列は日付なので、 入力行しか入っていません
- tksoft
- ベストアンサー率36% (99/273)
例えば次のようなマクロを作成して,印刷ボタンに変えたらどうでしょう。 Sub PrintData() Dim Row As Integer Row = 1 Do Until Worksheets("Sheet1").Cells(Row, 1) = "" Row = Row + 1 Loop ActiveSheet.PageSetup.PrintArea = "$A$1:$E$" & (Row - 1) ActiveSheet.PrintOut End Sub
お礼
ありがとうございます 一般機能で無理ならこれを使わせてもらいます。 2006.03.04 16:29:59
補足
一般機能では無理でしょうか? 2006.03.04 16:28:41
お礼
http://www2.odn.ne.jp/excel/waza/print.html#SEC11 で解決しました
補足
私のバージョンは2003です。 範囲名をつけ、範囲名に$で、絶対参照にし保存したあと、 再度ページ設定開くと実範囲に置き換わりますね。 2002では、範囲名のままなのですか? 会社にいけば、2002と2000でも確認できるので 今度確認してみますが、再度回答聞かせてください。 ちなみに、オフセット関数は入力規則-リストでは問題なく動作します (範囲名経由)