- ベストアンサー
エクセルのVLOOKUPで作成した表をまとめて印刷する方法を教えてください!!
エクセルのVLOOKUPで、番号を入力するとで個人名およびその個人のデータが表示されるA4の表があります。1人のデーター表を印刷するのには1人目の番号を入力して印刷をして、2人目の番号を入力して印刷をして・・・という順でしていましたが、1人ごとの印刷ではなく、180人分の表をまとめて印刷したいのですが、その方法をどなたか詳しく教えてください!!印刷される表はVLOOKUPで作成された表のまま印刷したいと考えています。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
本来であるならばワードの差し込み印刷の手法を用いて、ワードで印刷する1ページの画面を作成してそこにエクセルのデータを貼り付けてゆくことで、番号を変えた人の連続印刷ができます。 しかし、それではなくエクセルのシートで連続印刷となりますと、マクロを使うことになりますね。 例えばシート1に印刷の画面があるとして、シート2に番号や氏名、その他のデータがあるとして、シート1ではVLOOKUP関数でシート2のデータを用いて印刷の画面を作っているとします。 そこでシート見出しでSheet1を右クリックをして「コードの表示」を選択します。表示される画面の右側の窓には次のようなコードを入力します。 Sub 連続印刷() Set WS1 = Worksheets("Sheet1") Set WS2 = Worksheets("Sheet2") Dim m As Integer Dim RowPos As Integer m = WS2.Range("A65536").End(xlUp).Row For RowPos = 2 To m WS1.Range("B1") = WS2.Cells(RowPos, 1).Value WS1.Range("A1:H40").PrintOut Next End Sub ここでシート1のB1セルに番号が入力されるとして、それらのデータはシート2のA2セル以降のデータが読み込まれるとしています。また、A1セルからH40の範囲を印刷するとしていますが適当に変えてください。 印刷を実行するためには「開発」タブから「マクロ」をクリックして「Sheet1.連続印刷」を選択してから右側の「実行」をクリックすればよいでしょう。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
質問者がしたいことが質問文では伝わらない。 実例でも挙げて説明しないと。 >180人分の表をまとめて (1)表には一名1ページの表と (2)1名1行で数十名が縦に並んでいる表と ある。印刷したいのはどちらか、質問文からあいまい。 (2)の場合普通に印刷すると、何処が質問者の意向と違うことになるのか。 (3)あるいは(2)形式のデータで(1)形式の表を作り 180ページを自動で印刷したいということか。 ーー (3)なら再度説明するのも大変なので、Googleで「imogasi請求書」で照会すれば、実例が出ます。 印刷は自動でやるのは関数では出来ないので、最低限数行のVBAを使ってますが、後は関数を使ってデータを整える方式で、VBAに詳しくない人のために考えた、妥協策です。 ーー 下記の私の回答。一覧表形式データから関数で1枚ものの表形式に する方法を書いています。 http://oshiete.filesend.to/qa5356280.html http://okwave.jp/qa2798008.html http://oshiete.home4u.jp/qa5101923.html など。
お礼
早々の回答ありがとうございます。やはりマクロしかありませんね。早速ご提示いただきました論理式を代用させていただきましたところ、印刷可能な状況です。自分で論理式がスムーズに組むことが今後の目標にしたいです。論理式が組めるようになる方法を簡潔にまとめられたサイト・資料(書籍等)がございましたら教えてください。このたびは大変役に立ちました。ありがとうございました。