質問 |
||
| 質問者:kumicco | EXCEL 複数シートを1枚に印刷する方法 | |
|---|---|---|
困り度:
|
同じファイルにある複数のシートを1枚に印刷する方法を教えてください。 |--------- |シート1 | |シート2 | |シート3 |--------- シート1のデータの下にシート2のデータを シート2のデータの下にシート3のデータを というかんじです。 フリーソフトやプリンタ自体の設定でできるかもしれませんが、 EXCEL単体での作業を前提としています。 宜しくお願いします。 |
|
質問投稿日時:08/07/07 11:25 質問番号:4157606 |
||
回答良回答20pt |
|
| 回答者:D-JM | 残念ながら簡単に、とはいかないみたいです。 どんな感じにデータが記述されていて、どのように印刷したいのか、がわからないので、随分適当(本当にひっつけるだけ)ですが、単純なマクロを組んでみました。 1)ツール⇒マクロ⇒VisualBasicEditor でマクロ作成画面を開く。 2)挿入⇒標準モジュール で白紙の画面を開く。 3)以下のコードを貼り付ける。 --ここから-- Public Sub BOOKPRT() Dim sRow As Long, nRow As Long, eRow As Long Dim eCol As Integer, shCnt As Integer Sheets(1).Activate nRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count sRow = nRow 'データコピー For shCnt = 2 To Sheets.Count Sheets(shCnt).Activate With ActiveSheet.UsedRange eRow = .Row + .Rows.Count - 1 eCol = .Column + .Columns.Count - 1 End With ActiveSheet.Range(Cells(1, 1), Cells(eRow, eCol)).Copy Sheets(1).Activate Cells(nRow, 1).Select ActiveSheet.Paste nRow = nRow + eRow Next shCnt '印刷プレビュー表示。印刷ボタンを押せば印刷できます。 Sheets(1).PrintOut Copies:=1, Preview:=True, Collate:=True '編集結果を元にもどす Application.CutCopyMode = False Range(sRow & ":65536").Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub --ここまで-- 4)VisualBasicEditor を閉じる 5)ツール⇒マクロ⇒マクロ で BOOKPRT を実行する。 これで全シートの内容がひっついた状態で印刷プレビューが表示されます。 (そこから印刷できます) 宜しければお試しください。 |
|---|---|
| 種類:回答 どんな人:専門家 自信:自信あり |
|
| |
回答日時:08/07/07 15:03 回答番号:No.3 |
|
| この回答へのお礼 | ありがとうございます。 VBAは勉強を始めたばかりなので大変参考になります。 早速試してみようと思います。 |
回答 |
|
| 回答者:imogasi | 素人には出来て良さそうと思う課題だが、甘い。 エクセルはいろんな面で「シートが別だと別世界と思え」と小生は感じます。 現実にはそのカタチに無いもの(ルールだけは頭に思い描けるもの)を(設定や指定だけで)印刷することは出来ないと思ったほうがよい。グラフなどでそういう質問が出た場合アリ。 シート1の後にシート2、その後にシート3を継ぎ足した状態を作らないと質問のようなのは出来ない。VBAでもPageSetUpは特定の1つのシートに対して行うようになっている。 ーー 3シートの印刷を1度に行うだけなら、3シートを指定し印刷すれば順次印刷されると思うが。 === VBAが出来れば、シート2、シート3の表を継ぎ足すのは簡単だ。 それを勉強したら。 >データを が曲者で、見出しも含めるのか、実質データ行だけ持ってくるのか? の点は疑問があるが。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/07 13:17 回答番号:No.2 |
|
| この回答へのお礼 | ありがとうございます。 簡単にできないことは分かりました。 |
回答良回答10pt |
|
| 回答者:mu2011 | 安直ですが、データをオブジェクト化して貼り付ける方法ですが如何でしょうか。 (1)シート1のデータ範囲をコピー→別シートにshiftキー押下しながら編集→図の貼り付け(又は、図のリンク貼り付け) (2)シート2・3も同様の操作、後はオブジェクトのサイズ調整を行う 因みに「図のリンク貼り付け」を選択すると、元データ変更時にも反映されます。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/07 12:00 回答番号:No.1 |
|
| この回答へのお礼 | ありがとうございます。 その案も思いつきましたが、一発で印刷できる方法がないかと思いまして・・・。 手がなければその方法でやろうと思います。 |