[[20130517083825]] 『シートのページ数を増やした時の印刷範囲』(シマリス) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートのページ数を増やした時の印刷範囲』(シマリス)

 Excelで計画書や報告書などを入力する雛形があります。
 各担当者がその雛形をコピーして自分で入力するようになっているのですが、最近よく質問されることがあります。

 雛形のシートには、1ページ分の書式があり、その部分に印刷範囲が設定されています。
 しかし内容によっては複数ページにわたることもあり、その都度雛形の部分をコピーして
 1ページ目の下の行に貼り付け、2ページ・3ページ・・・と増やしているのですが、この時に
 印刷範囲を手動で設定し直さなければならないので(そのままだと2ページ目以降は印刷範囲外になる)
 増やす度に「表示」-「改ページプレビュー」の画面で印刷範囲を広げています。

 (全て入力が終わらないと最終的に何ページになるか分からないこともあるので最初から○ページと決められません)

 それで、この入力する人はほとんどがExcelは文字入力しか出来ないような人ばかりなので
 印刷範囲の再設定が自力でできずに困る人が多数います。

 かといって、雛形を最初から複数ページ分用意していたとしても、更にそこからページ数が増える可能性もあるので
 どのくらい増やせばいいのかも分かりませんし、上記のようにExcel超初心者ばかりなので、
 仮に10ページ分用意しておいたとして1ページしか印刷する必要が無くても、印刷するページ数の
 指定の仕方が分からなくて無駄に何枚も印刷してしまいます。

 ページ数を増やす時、自動で印刷範囲も広げられるような方法はありますでしょうか。

 ちょっと説明が分かりにくくてすみません。よろしくお願いします。

 (Excelのバージョンは2003の人と2010の人がいます)

 印刷範囲は Print_Area という特別な名前で指定できます。
 検索するといろいろと例があると思いますが、下記のような方法で管理できないでしょうか。
 (Mook)

 検索結果例
http://www2.odn.ne.jp/excel/waza/print.html#SEC11
http://miyahorinn.fc2web.com/tips/s_07_10.html

 書式が設定されている範囲外にも何か入力があって
 それは印刷したくないから、印刷範囲を設定している。

 のですか?

 ひな形をコピーして貼り付ける操作に問題が無いのなら
 ・わざわざ印刷範囲を設定しなきゃいいじゃん
 って思っちゃいますが。。。

 書式範囲外に何か文字を入れておきたい場合は
 テキストボックス等にして プロパティで印刷しない設定にしておけば
 印刷したい範囲外に置いておいても、印刷範囲には含まれません。

 (書式を下にコピペしていくとして)
 書式外に入力されるのを避けたいなら、使用しない列は
 非表示にしても良いかもしれません。

 「特別に印刷範囲を設定している」のは、どの様な理由があるのでしょう?
 もしかしたら、印刷範囲を設定しなくても済む方法が見つかるかもしれません。

 (HANA)

 Mook様ありがとうございます。

 リンク先を見てみたのですが、
 名前の定義を使う方法は前述のようにExcel初心者だらけで、毎回その操作ができるレベルじゃないので無理そうです。
 やはり毎回印刷範囲を設定するしかないんでしょうか…

 HANA様
 >わざわざ印刷範囲を設定しなきゃいいじゃん
 いえ、そうおっしゃられましても社内で決められた書式ですし…
 印刷させたくない範囲があるのではなく(時々そういうものもありますが)、基本は罫線などで囲まれたレイアウトがあり、
 そのまま最終行に貼り付けたのでは改ページの位置がずれるので(元々、普通に入力したのでは1ページに収まらなかったり、
 逆に1ページに入れるにはデータが少なすぎたりして、自動で拡大・縮小できるように印刷範囲が設定してあるので)、
 その都度「改ページの挿入」をしなければならないのでは今までと大差ありませんし…

 ちなみに元の書式を作った社長が口うるさいので、「余白で調整すれば?」「最初から拡大率を設定すれば?」
 というのはやってみたら「自分が作ったのと違う!」と怒られたので、今の書式設定はいじれません。。。

 印刷範囲の設定をしなくて済む状態なら私も困らないんですが。。。

 (シマリス)


 >名前の定義を使う方法は前述のようにExcel初心者だらけで、毎回その操作ができるレベルじゃないので無理そうです。

 名前の定義を使う方法は、最初に一度だけ設定しておけば、
 次回からは何もしなくても、勝手に印刷範囲が変わります。

 実際にはどの列の最後のデータを基準にするかとか、
 その列には空白がなくデータが入っているのか、など
 若干の条件によって定義の仕方が変わってきます。

 具体的な表のレイアウトと印刷の基準を示されれば、
 具体的な設定の方法も提示できるかも知れません。
(tora)


 >増やす度に「表示」-「改ページプレビュー」の画面で印刷範囲を広げています。
 以外にも
 >その都度「改ページの挿入」をしなければならない
 と言う作業が必要 って事ですか?

 >(元々、普通に入力したのでは1ページに収まらなかったり、
 >逆に1ページに入れるにはデータが少なすぎたりして、自動で拡大・縮小できるように印刷範囲が設定してあるので)
 このあたりの説明も、もう少し具体的な例を挙げてもらって
 どういう事か説明してもらえませんか?

 例えば
 A1:D20 に罫線等が設定してあって、1行目が見出しで19件データが入力できる
 1ページ目の書式があるとしますよね。

 この表の横幅がA4サイズに満たないので ちょうどよく印刷される様に自動拡大設定がしてある。

 。。。て事ですか?

 で、A4用紙1枚に印刷できる範囲は25行目まであるが、罫線は20行目までしかない。
 2ページ目の書式をA21から貼り付けて 印刷範囲を拡大し 20:21の間に改ページをいれないと
 印刷レイアウトが崩れてしまう。
 が、「印刷範囲を拡大し、改ページを入れる」作業をなくしたい。

 。。。て事?

 ちなみに
 >名前の定義を使う方法
 は、使用者がその都度設定するのではなく
 その様に設定してあるものを使用してもらう
 (設定は、シマリスさんが行う)
 です。
 >雛形を最初から複数ページ分用意していたとしても、更にそこからページ数が増える可能性もあるので
 と言う心配には対応できませんが。

 (HANA)

 結局同じ内容をシート内でコピーしていくのなら、シート自体を増やして1ページに収まらなかったら次のシートへ入力していくとかでは駄目ですか?
 それなら入力した分のシートを印刷すればいいですし書式も変えないで済みますし。

 的外れだったらすみません。

 (コナミ)


 貼ったときには気が付きませんでしたが、みやほりんさんのページでしたか。
 きれいにまとまっていますね。

 勝手に紹介させていただきましたm(_ _)m。
 (Mook)

 皆様説明不足ですみません。

 レイアウトの例なんですが、あちこちから複数の(レイアウトが全然違う)ブックで同様の作業が発生するから何とかしてくれと
 言われていて、特に「これ」といった例が無いのですが…

 要は、HANA様がおっしゃってるように、
 「 例えば
 A1:D20 に罫線等が設定してあって、1行目が見出しで19件データが入力できる
 1ページ目の書式があるとしますよね。

 この表の横幅がA4サイズに満たないので ちょうどよく印刷される様に自動拡大設定がしてある。

 で、A4用紙1枚に印刷できる範囲は25行目まであるが、罫線は20行目までしかない。
 2ページ目の書式をA21から貼り付けて 印刷範囲を拡大し 20:21の間に改ページをいれないと
 印刷レイアウトが崩れてしまう。
 が、「印刷範囲を拡大し、改ページを入れる」作業をなくしたい。」

 このような感じです。

 とりあえず一つの例のレイアウトです。

     A      B      C       D     E      F       G     H       I      J
 1                     ○○期定例会議 売上予測 (D〜F列結合)
 2                                                     平成25年5月17日 (I〜J列結合)
 3                                                     記録者:田中
 4 ┏━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
 5 ┃ 部門 ┃  項目 ┃初期目標値 ┃今回目標値 ┃達成率 ┃       成果報告         ┃   課題と対策     ┃
 6 ┣━━━━╋━━━━━╋━━━━━━╋━━━━━━╋━━━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫
 7 ┃ 営  ┃ 製   ┃      ┃      ┃    ┃                    ┃             ┃
 8 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 9 ┃    ┃ 品   ┃      ┃      ┃    ┃                    ┃             ┃
 10 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 11 ┃ 業  ┃ 政   ┃      ┃      ┃    ┃                    ┃             ┃
 10 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 11 ┃    ┃ 策   ┃      ┃      ┃    ┃                    ┃             ┃
 10 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 12 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 13 ┃ 部  ┣━━━━━╋━━━━━━╋━━━━━━╋━━━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫
 14 ┃    ┃ 販   ┃      ┃      ┃    ┃                    ┃             ┃
 15 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 16 ┃    ┃ 売   ┃      ┃      ┃    ┃                    ┃             ┃
 17 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 18 ┃ 門  ┃ 政   ┃      ┃      ┃    ┃                    ┃             ┃
 19 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 20 ┃    ┃ 策   ┃      ┃      ┃    ┃                    ┃             ┃
 21 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 22 ┣━━━━╋━━━━━╋━━━━━━╋━━━━━━╋━━━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫
 23 ┃ 技  ┃ 製   ┃      ┃      ┃    ┃                    ┃             ┃
 24 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 25 ┃    ┃ 品   ┃      ┃      ┃    ┃                    ┃             ┃
 26 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 27 ┃ 術  ┃ 政   ┃      ┃      ┃    ┃                    ┃             ┃
 28 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 29 ┃    ┃ 策   ┃      ┃      ┃    ┃                    ┃             ┃
 30 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 31 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 32 ┃ 部  ┣━━━━━╋━━━━━━╋━━━━━━╋━━━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫
 33 ┃    ┃ 販   ┃      ┃      ┃    ┃                    ┃             ┃
 34 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 35 ┃    ┃ 売   ┃      ┃      ┃    ┃                    ┃             ┃
 36 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 37 ┃ 門  ┃ 政   ┃      ┃      ┃    ┃                    ┃             ┃
 38 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 39 ┃    ┃ 策   ┃      ┃      ┃    ┃                    ┃             ┃
 40 ┃    ┃     ┃      ┃      ┃    ┃                    ┃             ┃
 41 ┣━━━━╋━━━━━╋━━━━━━╋━━━━━━╋━━━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━┫

 例えばこのようなシートがあったとして、最初のページ(雛形部分)には表が1ページに収まるように設定されています。

 しかし、何かの事情で同じ表をもう1ページ増やす必要があったり、間の行が挿入・削除されたりして1ページに収まらなかったりします。
 (記入の関係で、行を削除して表が小さくなったあとにその表をコピーして2ページ目にすることもあります)

 それで「追加したページが印刷されない」あるいは「追加した2ページ目の表の一部が1ページ目に続けて印刷されてしまう」
 ということになり、その都度私が印刷範囲を変えたり改ページを挿入したりして対応しています。

 最初から「何ページぐらいあるから表を増やして」と言ってくれればまだいいのですが、入力しながら
 「もう1ページ」「あと1ページ」と言われるのがすごく手間がかかって…
 (かといって最初に多めに印刷できるページを用意すると、「いらないページが印刷された!」とクレームが来るので)

 何か方法が無いかと思ったんですが。。。

 >コナミ様
 シートが別になってもいい分はそれで対応しているのですが、どうしても1シートで見たいというものがあり、
 その場合が困っています。。。

 (シマリス)

 >何かの事情で同じ表をもう1ページ増やす必要があったり
 これに対応するのは、何か方法がありそうに思いますが

 >間の行が挿入・削除されたりして1ページに収まらなかったりします。
 こっちは問題だと思います。

 挿入されて、1ページに収まってない場合は どの様に対処するのですか?

 (HANA)

 >挿入されて、1ページに収まってない場合は どの様に対処するのですか?

 今はとりあえず、改ページプレビュー画面で印刷範囲を広げています(シートが縮小されることがありますが仕方ないので)

 これはもう仕方ないと思うのですが、当面の課題はページを何ページ増やしても、1ページずつ改ページの挿入を
 する作業が省けないかと。。。
 もっとも困るのが、10ページ以上「標準」の画面で表を増やした人が、「印刷が1ページ目しか出ない」と言うので
 印刷範囲を再設定し、ページごとに改ページ挿入したり、改ページプレビュー画面で青い点線(ページの区切り)を
 ドラッグして区切り位置を設定するのが大変なことです。

 最初のページの印刷範囲が、コピーして追加した際にも同じように適用されてくれればいいのですが。。。

 (シマリス)

 >最初のページの印刷範囲が、コピーして追加した際にも同じように適用されてくれればいいのですが。。。
 行の挿入が行われて、1ページに収まらない場合
 「最初のページの印刷範囲」では不十分ですよね。

 >改ページプレビュー画面で印刷範囲を広げています(シートが縮小されることがありますが仕方ないので)
 自動的に印刷を拡大・縮小するのは どちらの範囲に対して設定してあるのでしょう?

 下方向へページが増えていく様なので、列方向の範囲が1ページに収まるように
 設定がしてあるように思えますが
 すると「印刷範囲を広げる」だけではダメな気がしますが。。。
 列方向へ適当に範囲を広げる のでしょうか?

 今考えているのは、こんなコードです。

 '------
Sub sample1()
    Dim MyCell As Range, SrcCell As Range
    With ActiveSheet
        .PageSetup.PrintArea = _
            Range(.PageSetup.PrintArea).Resize(.UsedRange.Rows.Count).Address
        .ResetAllPageBreaks
        Set SrcCell = .Cells(1, Columns.Count).End(xlToLeft)
        If SrcCell.Value <> "" Then
            With SrcCell.MergeArea.EntireColumn
                Set MyCell = .Find(What:=SrcCell.Value, _
                            After:=SrcCell, LookIn:=xlValues, LookAt:=xlWhole)
                If MyCell.Address <> SrcCell.Address Then
                    Do
                        .Parent.HPageBreaks.Add Before:=MyCell
                        Set MyCell = .Cells.FindNext(MyCell)
                    Loop Until MyCell.Address = SrcCell.Address
                End If
                Set MyCell = Nothing
            End With
        End If
        Set SrcCell = Nothing
    End With
End Sub
 '------

 まず、印刷範囲を 現在設定されている列&使用している行 範囲に変更。
 一旦、改ページをすべてクリア。
 アクティブシートの1行目の左端にあるセルと 同じ値のセルを
 同じ列の中から探し、見つけたセルの上側に改ページを挿入します。

 あとは
 >>改ページプレビュー画面で印刷範囲を広げています(シートが縮小されることがありますが仕方ないので)
 >自動的に印刷を拡大・縮小するのは どちらの範囲に対して設定してあるのでしょう?

 のご説明によって、どこか変更できるか。&どこを変更できるか。
 になります。

 (HANA)


 遅くなりまして申し訳ありません。

 >自動的に印刷を拡大・縮小するのは どちらの範囲に対して設定してあるのでしょう?
 「全ての列が1ページにおさまるように」で設定してあります。

 マクロで対応するしかないんでしょうか…

 不特定多数のファイル(もちろんレイアウトも違う)を相手にしますし、ヘルプを求められた時はその場ですぐ対応しないといけないので
 手動で何か方法があるかと思っていたのですが…

 マクロでやることを手動でやるのが結局手っ取り早いのでしょうか…

 (シマリス)

 手作業で。という事であれば、現在やっておられる作業をやることになると思います。

 >不特定多数のファイル(もちろんレイアウトも違う)を相手にしますし
 に関しては、ファイル・レイアウトの数より パターンの数の方が重要だと思います。

 >ヘルプを求められた時はその場ですぐ対応しないといけないので
 使えるマクロが出来ていれば 実行するだけですけどね。

 パターンにどの様なものが有るか分かりませんし
 そちらで、何が可能で何が不可能か分かりませんが
 私なら印刷ボタンを作っておいて
 「このボタンを押すと、印刷プレビューが表示されるから
  確認して、OKだったらそのまま印刷して下さい。
  駄目だったら、呼んで下さい。」
 って、体裁を整えるマクロを実行して貰う方向で考えますが。

 (HANA) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.