- ベストアンサー
Excel表の名簿印刷の効率化方法
- Excel表の名簿を効率的に印刷する方法を探しています。現在は区分ごとに印刷設定を変更する必要があり、とても手間がかかっています。
- 現在の印刷方法では、区分ごとにタイトル行を変更し、名簿の中に改行を入れる必要があります。この方法だと区分が増えると作業が非常に煩雑になるため、もっと効率的な方法を模索しています。
- ヘッダーを使っても解決できないか試してみましたが、うまくいきませんでした。もしご存知の効率的な印刷方法がありましたら、お教えいただけますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>タイトル行の上の区分1、2という具合にページ共通ではありません 「区分1、2」は共通ではないと考えていましたが 「タイトル行」は「自治会運動会」のような各ページ共通ものではなく 種目の羅列で次行からのセルに連動していなければならないのですね。 何れにしろ あれこれ検討しているうちに運動会が終わってしまいますね 重ね打ちは如何でしょう 表だけのsheet1と行毎に改ページを挿入した町名だけのsheeet2を作成し 1枚の用紙に重ねて印刷します。 ※改ページ挿入はお分かりですね もし必要ならばExcelのバージョンを御知らせ下さい
その他の回答 (4)
- lll49erlll
- ベストアンサー率58% (25/43)
また お邪魔します。 何回も補足を頂いて なんとかイメージがつかめた感じです^^ 図の左のような表を右のようにってことですかね? 表計算としてのエクセルでは、印刷の制御とかはほとんど出来ないので、 VBA(マクロ)を組むことになりそうですね。 VBAでも表を整形しながら印刷だけするか、整形した表を作って、それを印刷する かによって違いますが、せっかくなら別シートなどに整形した表を作ったが後々の ためにも、いいと思います。 どちらにしても、わりかし単純なVBAで実現できると思います。 たとえば、・・・・・ ' ・新シートを作る ' ・元表の項目欄(タイトル欄)の1行下から最終行まで住所項目を検査 ' ・住所項目が1行上と違ってたら ' ・住所項目だけセルに入れて、書式処理(字を大きくするなど)、 ' ・1行空白行をあけて、項目欄(タイトル)を元表からコピーし貼り付ける。 ' ・1行下げて、その行を必要列数を元表からコピーし貼り付ける ' ・住所項目が1行上と同じなら ’ ・1行下げて、そのまま必要列数を元表からコピーし貼り付ける ’ ・最終行まで繰り返し、、。 ’ ・必要に応じて 改ページ、または、空行 挿入 みたいな感じでできると思います。 (名簿が、次ページまでまたがる時の処理は考慮してませんが) 私はVBA派なんで、ややこしいと すぐVBAで組むんですが、出来るだけ他人の 使うものには(その後のメンテナンスを考えて)勧めないんですが、 他の操作方法で、思いつきませんでしたので。。。
お礼
私がやりたいことをご理解いただき、ありがとうございます。 お示し頂いた、VBAの処理手順、最後に印刷指示が必要ですね。 途中はこれでよいと思います。ただ、これのprg.は私には無理です。 この方法は諦めることにします。
- lll49erlll
- ベストアンサー率58% (25/43)
なるほど~。。。。 そうですね その欲求もよく分かります。 いまいち、データ構成や印刷ページ構成がよく分かっていないんですが、 「乗りかかった船」的で申し訳ないんですが、もう一案^^ 図のように、タイトル、区分名は 印刷範囲外や別シートに置いといて、 それぞれ、挿入したい所にリンクさせといたらいかがでしょう。。 名簿の行挿入・行削除とかしてもリンク先は自動修正されますし、 本データーの修正に影響されないですし、 タイトル、等 変更になっても、各欄の修正の必要もありませんし 一発で済みそうですが。。。
お礼
コメントありがとうございます。 左側の図で、区分1、区分2は名簿の中に含まれます。 名簿の名前に付く住所の1丁目等です。従って一つのページでは住所の列はすべて同じで1丁目です。 その同じものをタイトル行の上部に印字したいのです。 それで右側の図で、タイトルの下にある区分1、区分2は印刷しません。 なおタイトルとは標題と言うより列名のことです。住所、氏名、男女、年齢、と玉入れ、玉ころがし等の種目の名前で成立しています。Excelで、ページレイアウト、印刷タイトルで表示されるタイトル行に該当します。 また、名簿とは、タイトルに対するもので、出場項目にはまる○が付きます。 説明が悪く申し訳ありません。
- lll49erlll
- ベストアンサー率58% (25/43)
質問の意味を理解してないかもしれませんので、的外れでしたら、 読み飛ばしてください。 新しく作られるのでしたら、各区分名を シート名にして、 ヘッダーを &[シート名]様 のように &[シート名]+定形文字列にしたら いかがでしょう。。。
お礼
コメントありがとうございます。 シートで、分けるというのは最初に言いました通り、手間がかかり面白くありません。 それでここに相談した次第です。 たとえば、10区分をシートで分けるとすれば、簡単な話、印刷設定を10回、タイトルが変更になれば、10回訂正しなければなりません。また印刷命令を10回しなければなりません。 これを修正や印刷実行を1回で済ませたいのです。私の意図は伝わりましたでしょうか?
- shinkami
- ベストアンサー率43% (179/411)
タイトル行 区分2 名簿 のうち「タイトル行」と「名簿」が各ページ共通ということでよろしければ 「タイトル行」と「名簿」はヘッダーに記述(区分2の字数分字下げして「名簿」) 区分2を1行目に記述 ページ設定余白でヘッダー位置を「名簿」と区分2が同じ縦位置になるように設定する (図 上余白よりヘッダー位置は下)
お礼
コメントありがとうございます。 折角ですが、タイトル行の上の区分1、2という具合にページ共通ではありません。 もし共通でよいなら、区分を含めタイトルに含めれば、簡単に実現できます。 ここでは自治会運動会の種目別出場者の表で、横方向に種目が並び、縦方向に氏名が並んだ表 で、表のトップに町名が印字され、その下にこの表が来るようにしたいのです。 一つの表で、町名と氏名と種目の表で、該当箇所に丸印を入れた表を完成させて、印刷はページごとに町名を変えたいのです。 マクロが必要と思われますが、やり方は分かりません。
お礼
重ね打ちの方法、思い付きませんでした。コロンブスの卵でした。 今年分はsheetで分けて作成しました。 今は次回分としての検討ですが、良い案が見つからなければ、 次善の策として採用させてもらいます。ありがとうございました。