- ベストアンサー
エクセルでデータを2段に
エクセルでAとBの列にデータを入力し、印刷しようとしているのですが、このままだと用紙の左半分しか使わないため、効率良く1ページ2段にしたいと考えています。 (例えば A B A B 1 11 ↓ ↓ 1ページ目 10 20 …………………………… 21 31 ↓ ↓ 2ページ目 30 40 のような感じ) しかし、コピー&ペーストと削除で簡単にできると思ったのですが、次のページに入って欲しいものが当該ページに入って来たりして上手にまとまりません(例で21が1ページ目に入って来たりする)。どうすればきっちりまとめられ、後でデータの訂正(削除や挿入)もやりやすくなりますか?ちなみにセルは1行分使っているものと2行分使っているものが混在しています。 どなたかわかりやすく説明してくださる方、お願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
表示(V)→改ページプレビュー(P)を使用したらいかがでしょうか? この機能を使用すれば、任意のところで改ページ出来ます。
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
お使いになるのかは別として、以下は、私自身のために作りました。印刷用のテンポラリシートを作り、そこに段組コピーしていきます。一応、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
お礼
一番の長文でありがとうございます。ちょっと高度過ぎて現在は使用できそうにありません。もっとコンピュータ操作が上達したら、取り入れたいですね。
- goomania
- ベストアンサー率56% (84/149)
コピー&ペーストで加工しているとのことですが、 A列とB列にデータが入力されているものを、 コピー&ペーストでA列、B列と離れた列にデータを 切り貼りしているという意味でしょうか。 通常ご質問者さんが望んでおられることを実現するためには、 EXCEL自体を変更するより、プリンタの設定で行う方が 一般的だと思います。 つまり、EXCELの表のレイアウトは 「そのままで変更しない」ということです。 1.EXCELのメニューの ファイル(F)→印刷(P)→プロパティ(R)→レイアウト とたどって、1ページに2ページ分印刷できる設定にします。 (プリンタによっては「割付印刷」とか「シートごとの頁」など 表現が異なります。また、こういった機能のないプリンタ もあります。この場合、この手は使えないのであしからず。) こうして、印刷することにより、EXCEL自体を変更 しなくても、無駄のない効率的な印刷ができます。 なお、 2.EXCELのメニューの 表示(V)→改ページプレビュー(P)で見て、ページの区切り位置 が自分の期待してるものと異なっているときは マウスで改ページ線をマウスでドラッグすることにより変更 できます。 上記の1、2を組み合わせればかなりご希望に近いものができると 思います。
お礼
前の方の回答を更に詳しく教えていただき、ありがとうございました。ただ手持ちのプリンターは古いのか、そういう機能が見当たりませんでした。別の所で印刷する際には試みてみます。エクセル自体は変更しなくて良いのも手間が省けていいですね。
- a987654
- ベストアンサー率26% (112/415)
ページ替えをしたい位置にカーソルをおいて ”挿入”→”改ページ” で、どうですか?
お礼
ありがとうございます。印刷プレビューと照らし合わせなければ(どうも不安なので)なりませんが、確かにご指摘の作業でできますね。少ない分量なら回答者さんの方法が一番良いかもしれません。
- a987654
- ベストアンサー率26% (112/415)
ページ替えをしたい位置にカーソルをおいて ”挿入”→”改ページ” で、どうですか?
- poor_Quark
- ベストアンサー率56% (1020/1799)
ワードに貼り付けてワードで段組印刷されてはどうでしょうか。表全体を選択したらワードの新規文書にコピーアンドペーストで貼り付けます。その後ワードの【ファイル】-【ページ設定】-【文字数と行数】のタグを引き段数を指定して印刷すればよいかと思います。 ワードをお持ちでなければごめんなさい。ちなみにワード2000で実験したらご質問の通りに印刷できました。
お礼
迅速な回答ありがとうございました。試みた所、可能なようですが、方式を移す分、手間が掛かり、後で編集作業もしにくいと思いました。でもこんな技もあるのかと勉強になりました。
お礼
ありがとうございました。今回、教えていただいた方々のやり方の中では最もやりやすい方法でした。特に前後ページの様子を確認しながらできるのがよかったです。