• 締切済み

EXCEL ボタン一つで一気に印刷する方法

仕事で使用したいがため、内容については例として「年賀状の宛名」の場合とします。 年賀状に印刷する下記項目 ・名前 ・住所 ・郵便番号 などの一覧を作成し、A列に名前を、順に入力してあります。 リストボックスの入力範囲をA列として、選択した名前とそれに対応する情報が記入されるようなフォーマットを作成しました。 これを、印刷ボタンを1クリックするだけで選択した宛名すべての印刷を行えるようにしたいのですが、 やり方がわかりません。 たとえば、B列にチェックボックスを作成して、チェックを入れた行に対する印刷をさせようかとも思うのですが、 チェックを入れたかどうかのTRUE or FALSEを"判定して"印刷する、という方法がわかりません。 また、以下の条件も考えるとなおさらどのような方法でマクロと関数を駆使すれば良いのかが分からなくなってしまします。 ・飛び飛びで選択することがあるため、「ここからここまでを印刷」という設定ではダメ ・宛名が増えるとき、"行の挿入"をしてもチェックボックスとその機能は同時に設定しなくてはいけない また、自分以外の人間に使わせたいため、関数やマクロを全く知らない人間でも使える(マウスのクリック操作のみ)で使えるように作成したいのですが、 そのような方法はありますでしょうか? わかる方がいらっしゃいまいしたら、ぜひ教えていただきたいと思います。 よろしくお願いいたします。

みんなの回答

回答No.3

マクロや関数の勉強が主たる目的でないなら、市販ソフトを使った方が手っ取り早いし効率的です。 例えば、宛名の鉄人というソフトなら、印刷したい行(というかセル)を選択して右クリックから印刷ウイザードを開始するだけでご希望の操作が可能です。 もちろん、CTRLを押しながら飛び飛びに選択した場合でもそれらの行だけ印刷できます。

Fragarach
質問者

補足

市販のソフトでも以下のような点を考慮して使用することが可能でしょうか? ・会社で使用すること(不特定多数の人間がそれぞれのコンピュータで使用する) ・様々な書類を作成するため、フォーム、入力値の種類と数、excelと同等の計算処理ができる できるのであれば、そのようなソフトの購入申請を出してみたいと思います。

回答No.2

for分でループを回し行を判定(例for 行 =0 to 5000)例文では5千行分しか処理できませんが B列のチェックボックスに入力があればTRUE(IF cells(行,2)!=""then) 別シートに用意したフォーマットにrange関数で値を入れて印刷(関数で自動印刷) 最終行がの宛名(IF cells(行,宛名の列)が空白だったらEXIT FORで抜け出す。 でなんとかなりませんか? ソースを調べる検索ワードとしては VBA for文(繰り返し処理) VBA IF セルの値(セルの値を参照するIFの処理) VBA 値 挿入 他のシート(別のセルのフォーマットへ値を挿入) VBA 印刷(印刷処理) ですかねぇ 動かせるシートを作って差し上げたいのですが 何分、自宅用PCにはマイクロソフトオフィスが入っていませんので申し訳ないかぎりです…… この程度しかできず申し訳ありません

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

ご希望の条件で選択したデータだけの印刷をしたいなら、Wordの差し込み印刷を利用されることをお勧めします。 差し込み印刷を利用する場合は、Excelのデータはそのままで、ワードに差し込んだ後で印刷データを適宜選択することができます。 また、Excelだけで、差し込み印刷のような機能を利用したい場合は、簡単なマクロを使用する必要があります(ご使用のバージョンが2007以降でラベル印刷だけならラベル印刷ウィザードを利用することもできます)。 Excelだけで対応する場合は、準備を含めていろいろな機能を駆使する必要がありますが、どうしてもExcelだけで実現したいのでしょうか? 方法が特定されていないことと、バージョンが記載されていないので、具体的な回答をしませんでしたが、Officeソフトはバージョンによって、使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう(特に、差し込み印刷はバージョンによって操作方法がかなり異なります)。

関連するQ&A