重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

表を印刷したいのです。

あらかじめ罫線を多めに引いています(たとえばA1:E100)
データ入力を数行(たとえば30行まで)入力した時点で
その部分のみ印刷したい場合印刷範囲の設定で
A1:E30
と指定すればよいのですが、
次に40行目まで入力したとき範囲設定を再設定したくなく、
常に入力された部分まで印刷範囲を自動設定することは可能でしょうか。

=OFFSET(sheet1!A1,0,0,COUNTA(sheet1!A:A),5)
と入力しても、次に開いたときには
A1:E30
になってしまいます。

A 回答 (4件)

一部訂正です。



=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を数式で入力しても(飽くまでも印刷範囲の設定ではなく名前定義です)
次に開くと印刷範囲が最終の範囲等にでも置換されてしまうのでしょうか?
ページ設定の印刷範囲は範囲に置き換えられていると思いますが、
名前定義の参照範囲は数式から変わらないと思うのですが。。。
それで変わってしまうのであればあなたの使用しているバージョンでは参照範囲可変の名前定義が使えないということになりますね。

この回答への補足

私のバージョンは2003です。

範囲名をつけ、範囲名に$で、絶対参照にし保存したあと、
再度ページ設定開くと実範囲に置き換わりますね。
2002では、範囲名のままなのですか?

会社にいけば、2002と2000でも確認できるので
今度確認してみますが、再度回答聞かせてください。

ちなみに、オフセット関数は入力規則-リストでは問題なく動作します
(範囲名経由)

補足日時:2006/03/04 19:21
    • good
    • 0
この回答へのお礼 お礼日時:2006/03/04 19:28

こんにちわぁ。



名前定義を使用するとお望みのことができると思います。
ツールバーから「挿入」-「名前」-「定義」を選択します。
名前の欄に「印刷範囲」と入れます。
(これは区別できれば何でも構いません)
そして、下の参照範囲に
=OFFSET(sheet1!A1,0,0,COUNTA(sheet1!A:A),5)
とh20060121さんが書いている式を入力して
追加ボタンを押します。
名前の一覧に印刷範囲が追加されるはずです。

そのまま一覧にあるPrint_Areaを選択します。
そして、下の参照範囲に
=印刷範囲
と入力します。(名前定義でつけた範囲名です。)
そして追加ボタンを押します。
これでお望みのとおりになるかと思います。

要は印刷の設定でやるのではなく、名前定義でやれば
できると思います。

この回答への補足

その方法はすでに試しています
私のエクセルでは、名前定義でも不可能でした。

補足日時:2006/03/04 18:24
    • good
    • 0
この回答へのお礼 お礼日時:2006/03/04 19:29

1.表のどこか1つのセルをクリックします


2.Ctrl+Shift+:(コロン)を同時に押します
3.ファイル>印刷の選択した部分をチェックし、OKを押します

この回答への補足

質問文に書き忘れましたが
累計列がE列(100行目まで関数入力済み)なので、
その方法が使えないのです

基本となるA列は日付なので、
入力行しか入っていません

補足日時:2006/03/04 16:55
    • good
    • 0
この回答へのお礼 お礼日時:2006/03/04 19:29

例えば次のようなマクロを作成して,印刷ボタンに変えたらどうでしょう。



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:28:41

補足日時:2006/03/04 16:30
    • good
    • 0
この回答へのお礼

ありがとうございます
一般機能で無理ならこれを使わせてもらいます。

2006.03.04 16:29:59

お礼日時:2006/03/04 16:30

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