• ベストアンサー

エクセルでデータを2段に

 エクセルでAとBの列にデータを入力し、印刷しようとしているのですが、このままだと用紙の左半分しか使わないため、効率良く1ページ2段にしたいと考えています。 (例えば  A B  A B 1     11 ↓    ↓      1ページ目 10    20 …………………………… 21    31 ↓    ↓      2ページ目 30    40                  のような感じ)  しかし、コピー&ペーストと削除で簡単にできると思ったのですが、次のページに入って欲しいものが当該ページに入って来たりして上手にまとまりません(例で21が1ページ目に入って来たりする)。どうすればきっちりまとめられ、後でデータの訂正(削除や挿入)もやりやすくなりますか?ちなみにセルは1行分使っているものと2行分使っているものが混在しています。  どなたかわかりやすく説明してくださる方、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • makoto44
  • ベストアンサー率27% (18/66)
回答No.4

表示(V)→改ページプレビュー(P)を使用したらいかがでしょうか? この機能を使用すれば、任意のところで改ページ出来ます。

noname#177772
質問者

お礼

ありがとうございました。今回、教えていただいた方々のやり方の中では最もやりやすい方法でした。特に前後ページの様子を確認しながらできるのがよかったです。

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

お使いになるのかは別として、以下は、私自身のために作りました。印刷用のテンポラリシートを作り、そこに段組コピーしていきます。一応、2段と3段の切り分けは可能です。行の途中で、連結セルがあってもよいのですが、ページの分かれ目で、上下の連結セルがあれば、すべて、その行の数だけ狂います。その理由は、最初のページ行と次のページ行から、ページの行数を取っているからです。 出来上がると、プレビューになりますから、そこで確認しなければなりません。セル幅のAutoFit はされていません。 Sub PrintAreaDevide() Dim PrRng As Range Dim Pageinteger As Long Dim PageCount As Integer Dim SecondPage As Integer Dim FirstPage As Integer Dim PageRow As Integer Dim PrRngCol As Integer Dim PresentSheet As Worksheet Dim TempSheet As Worksheet 'ユーザー設定 Const Separate As Integer = 3 '列の切れ目 Const Devide As Integer = 2 '切り分けの数 If Devide > 3 Or Devide < 1 Then MsgBox "切り分けにエラーがあります。", 16: Exit Sub ' Set PresentSheet = ActiveSheet Set TempSheet = Worksheets.Add(after:=Worksheets(Worksheets.Count)) ' Application.ScreenUpdating = True With PresentSheet   .Activate  If .PageSetup.PrintArea = "" Then MsgBox "印刷領域なし。", 16: Exit Sub  Set PrRng = .Range(.PageSetup.PrintArea)  PrRngCol = PrRng.Columns.Count  If PrRngCol <= Separate Then   PageCount = Application.ExecuteExcel4Macro("Get.Document(50)")   SecondPage = _   Application.ExecuteExcel4Macro("INDEX(Get.Document(64),1,2)")   FirstPage = Application.ExecuteExcel4Macro("INDEX(Get.Document(64),1,1)")   PageRow = SecondPage - FirstPage  End If  For i = 1 To PageCount   PrRng.Cells(PageRow * (i - 1) + 1, 1).Resize(PageRow, PrRngCol).Copy _   TempSheet.Cells(PageRow * ((i - 1) \ Devide) + 1, _    ((i - 1) Mod Devide) * PrRngCol + 1)  Next  Application.ScreenUpdating = True End With   With TempSheet    .Activate    .PageSetup.PrintArea = .UsedRange.Address    .PrintPreview   End With  Set PresentSheet = Nothing  Set TempSheet = Nothing End Sub

noname#177772
質問者

お礼

一番の長文でありがとうございます。ちょっと高度過ぎて現在は使用できそうにありません。もっとコンピュータ操作が上達したら、取り入れたいですね。

  • goomania
  • ベストアンサー率56% (84/149)
回答No.5

コピー&ペーストで加工しているとのことですが、 A列とB列にデータが入力されているものを、 コピー&ペーストでA列、B列と離れた列にデータを 切り貼りしているという意味でしょうか。 通常ご質問者さんが望んでおられることを実現するためには、 EXCEL自体を変更するより、プリンタの設定で行う方が 一般的だと思います。 つまり、EXCELの表のレイアウトは 「そのままで変更しない」ということです。 1.EXCELのメニューの   ファイル(F)→印刷(P)→プロパティ(R)→レイアウト   とたどって、1ページに2ページ分印刷できる設定にします。   (プリンタによっては「割付印刷」とか「シートごとの頁」など   表現が異なります。また、こういった機能のないプリンタ   もあります。この場合、この手は使えないのであしからず。)   こうして、印刷することにより、EXCEL自体を変更   しなくても、無駄のない効率的な印刷ができます。 なお、 2.EXCELのメニューの   表示(V)→改ページプレビュー(P)で見て、ページの区切り位置   が自分の期待してるものと異なっているときは   マウスで改ページ線をマウスでドラッグすることにより変更   できます。 上記の1、2を組み合わせればかなりご希望に近いものができると 思います。

noname#177772
質問者

お礼

前の方の回答を更に詳しく教えていただき、ありがとうございました。ただ手持ちのプリンターは古いのか、そういう機能が見当たりませんでした。別の所で印刷する際には試みてみます。エクセル自体は変更しなくて良いのも手間が省けていいですね。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.3

ページ替えをしたい位置にカーソルをおいて ”挿入”→”改ページ” で、どうですか?

noname#177772
質問者

お礼

ありがとうございます。印刷プレビューと照らし合わせなければ(どうも不安なので)なりませんが、確かにご指摘の作業でできますね。少ない分量なら回答者さんの方法が一番良いかもしれません。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.2

ページ替えをしたい位置にカーソルをおいて ”挿入”→”改ページ” で、どうですか?

  • poor_Quark
  • ベストアンサー率56% (1020/1799)
回答No.1

ワードに貼り付けてワードで段組印刷されてはどうでしょうか。表全体を選択したらワードの新規文書にコピーアンドペーストで貼り付けます。その後ワードの【ファイル】-【ページ設定】-【文字数と行数】のタグを引き段数を指定して印刷すればよいかと思います。  ワードをお持ちでなければごめんなさい。ちなみにワード2000で実験したらご質問の通りに印刷できました。

noname#177772
質問者

お礼

迅速な回答ありがとうございました。試みた所、可能なようですが、方式を移す分、手間が掛かり、後で編集作業もしにくいと思いました。でもこんな技もあるのかと勉強になりました。

関連するQ&A

専門家に質問してみよう