• ベストアンサー

エクセルデータの印刷方法について

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

以前、同様の質問に回答したことがあります。Excelでは面倒かもしれません。 『エクセルで縦長のデータを紙の無駄なく印刷』   http://www.okweb.ne.jp/kotaeru.php3?q=65628 今回は視点を変えて、手作業で行われているだろう『カット&ペースト』をマクロにしてみました。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入し、そこに下記コードを貼り付けます。 質問にあるA、B列が3個並んだカタチになります。 編集したいシートを選択してマクロを実行します。(ツール→マクロ→マクロ→下記を選択→実行) 編集したいシートのコピーを作り、実行してみてください。1ページの行数はpageModeで指定してください。 なお、1行目は表題、2行目からデータがあるとしています。2行目以降を印刷範囲の設定を行い、1行目を行タイトルに設定します。この辺りはアレンジして下さい。 『最初のデータの位置』を変更すれば、A列以外からの処理、複数タイトル行に対応できます。 Public Sub makePrintForm()   '2列を3組の2列に編集しなおすマクロ   Dim syoriKubun As Integer '処理区分   Dim cutArea As Range '移動する元のセル範囲   Dim topCell As Range '移動する元のセル範囲の左上先頭セル   Dim topCellAddress As String '移動する元のセル範囲の左上先頭セル番地   Dim cutRows As Long '移動する行数   Const pageMode = 60 '1ページの行数   *** これを指定します ***   Application.ScreenUpdating = False   '表題をコピー   Set topCell = ActiveSheet.Range("A2")  '*** 最初のデータの位置を指定します ***   With topCell     .Offset(-1, 3) = .Offset(-1, 0): .Offset(-1, 4) = .Offset(-1, 1)     .Offset(-1, 6) = .Offset(-1, 0): .Offset(-1, 7) = .Offset(-1, 1)   End With   'データを分割   Set topCell = ActiveSheet.Range("A2").Offset(pageMode, 0)     If topCell.Offset(1, 0) = "" Then       cutRows = 1 'データ数が1ページの行数+1の時     ElseIf topCell.End(xlDown).Row = ActiveSheet.Rows.Count Then       Exit Sub 'データ数が1ページの行数までの場合は終了     Else       cutRows = topCell.End(xlDown).Row - pageMode - 1     End If   'データがあるだけ繰り返す   While cutRows > 0     Set cutArea = topCell.Resize(cutRows, 2)     Select Case syoriKubun 'データを移す場所の計算       Case 0, 1: Set topCell = topCell.Offset(-pageMode, 3)       Case 2: Set topCell = topCell.Offset(0, -6)     End Select     'CutするのでtopCellの番地を覚えておく     topCellAddress = topCell.Address     'データを移動     cutArea.Select: Selection.Cut 'カット     topCell.Select: ActiveSheet.Paste 'ペースト     '次の処理     syoriKubun = syoriKubun + 1: If syoriKubun > 2 Then syoriKubun = 0     Set topCell = Range(topCellAddress).Offset(pageMode, 0)     cutRows = cutRows - pageMode   Wend   Application.ScreenUpdating = True   Range("A1").Select End Sub

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=65628
golman
質問者

お礼

早速ご回答いただきありがとうございます。 おかげさまで3列づつ印刷することができました。 今までマクロを使うようなデータ処理をすることがなかったので、これから勉強しようと思っています。 どうもありがとうございました。

関連するQ&A

  • エクセルの余白を0にしても列幅が広がらない

    エクセルで、用紙を横長に使い、31列×29行のものを、1枚に4つ作ろうとしています。 左半分に2つは、問題なくできたのですが、右半分にコピーしようとすると、狭い列幅になってしまい、どうしても入りません。 余白のせいかと思い、右の余白を0にしてみましたが、AJ列以降の列幅が広がらず、お手上げ状態です。 印刷プレビューで確認すると、右側に余白を表示しても、列の終わりからその余白線までにかなりのスペースがあり、そのせいで入らないものと思われます。このスペースはどうやって消せるのでしょうか?

  • エクセルで印刷時に「段組み」はできますか???

    列がA.Bの2列で、行が500行以上に渡るデータを作成しました。このデータをA4用紙に印刷すると、右側に余白がたくさん出ます。WORDのように「段組み」の機能はないのでしょうか? A列、B列に入力しているデータは簡単な数値のため、幅は小さくて十分です。何もしないと、20ページにわたりそうな印刷をなんとか10ページにする方法はないでしょうか? よろしくお願いします。

  • excelファイルの出力用紙変更

    excelでファイルを作成しました。 A4縦で作成したものを、B5縦でプリントアウトしたいのですが、用紙設定でB5に設定し直すと、印刷可能域が狭くなってしまいます。(余白が大きくなってしまいます) A4のときと同じ縮尺の余白にしたいとかんがえているのですが、よい方法が思い付きません。お教え下さい。 (PDFに一度変換したほうがいいのかな、とか考えていますが、うまくいきません)

  • Excelで上下に同じ書類を作成する方法を教えてください!

    ExcelでA4サイズの用紙に上下で同じ書類を作成してプリントアウト して半分に切断して使用したいのですが、どうしてもうまく できません。余白の設定やセルの数や列や行の高さもすべて上下で あわせました。 しかし、半分で切断すると横方向はぴったりあうのですが縦方向が どうしてもズレてしまいます。他になにか設定の仕方など 分かる方がいらっしゃいましたら教えて下さい。 お願いします。

  • エクセルで印刷する際、特定の列を全ページに入れたい

    3・4ページにまたがる横長の表(行数は15行くらい)を印刷したいのです。 その際2ページ目以降にもA列を印刷したいのですが、何か方法はありますか? 作成中は”列の固定”で、A列が必ず左端にきているイメージでプリントアウトをしたいのですが・・・

  • ワード、エクセルについて

    各位殿  お世話になっております。 (1)CPU PRINER 「PIXISUS 6100 I」 と NEC LAVIE750EDを使用しているのですが、「A4版で既に罫線(上余白46CM、幅10CM、7CM、右縦余白15CM、120CM、12CM、45CM、左余白15CM)の罫線の引かれた書類に、後から文字を一部に入力しなければ、ならないのですが、どうしても上手く行きません。 >CANONのPRINNTER設定できるところはあるのでしょうか。 (2)ワードは、ページ設定の文字数、行数、字送り、行送り、の正確な意味、フォントと余白との相関関係を教えて下さい。(一部のみ設定変更 するには、段落を使うのですか、このインデント、間隔行間、意味また どのようになるのか教えて下さい。 (3)EXCELの行は(A1セルで右クリックすると「高さ13.5、18ピクセル」「列幅8.38、72ピクセル」とありますが、この意味とCMへの変換方式を教えて下さい。 (4)また四角の窓に縦書きで また、B4版より5CMくらい長い書類で左半分(印刷時は、後半部分で飾り窓のような印刷された内部に、印刷したいのですが(縦18CM。幅13cm> 四隅幅10cm)に縦に8列最大1列で25字最低7字で作成したいのですが、上手い方法あるでしょか >(5) また、ワードの特に均等割付すると、前のデータがかってに動いて困るのですが、何かいい対処方法あるでしょうか。またワードで 行を2段に揃えたいのですが、いい方法あるでしょうか(1段は余白設定で何とかなるのですが、2段目が上手く行きません。ルーラ(数字が入った横線)が出る時と出ないときがあるのですが、出し方と使用方た(6)EXCELで文書を、フォントと設定、印刷設定等につき、大至急お教え賜りたく、伏してお願い申しあげます。

  • ワードの書式設定について、どれがいいのか教えてください

    A4サイズの横書きの用紙に、中央で仕切って、左右2列に分けて文章を書きたいのです。印刷して中央で折り曲げて、袋とじにできる形です。自作の本(小冊子)を作りたいのです。その場合、(1)ページ設定の文字数と行数の「段数を2」 (2) 同じくページ設定の余白で「袋とじ」 (3)書式で2段組み のどれがいいのですか。どれでも同じように思いますが、不都合があるなら教えてください。

  • 印刷方法

    Word2003です、会報誌でA3を2つ折り見開きです。おもてを作りました。 A3でページ設定→印刷の形式→本縦方向に山折で余白設定して2ページ作りますとA4が2ページ出来ましたA3用紙に印刷すると左側(1ページ)A4だけ印刷で右側が2枚目の用紙に成ります、A31ページに印刷する方法をお願いします。キャノン9900iです。

  • Excelでの印刷について

    例えば、A1からA100までデータが入ってるシートがあるとします。 そのままA4の用紙で印刷すると縦に1列で何ページかの状態で出力されます。 そのデータで印刷する時に、1ページ目の下まできたら自動的に2列目に、また用紙の下まできたら3列目に、というように印刷する機能はありますでしょうか。 ご教授よろしくお願いいたします。

  • Excelで用紙一枚に2ページ印刷

    よろしくお願いします。 WindowsXPでExcel2000を使っています。(Excel2007も別途あり) A4用紙に表を印刷するのですが、項目が少なく縦に細長いために1ページに2ページ分を 印刷したいのです。 プリンタドライバの設定で「割り付け」を選べばできるのですが、A4用紙の使い方が思うようになりません。 A4用紙を縦に使い、2ページを左右に印刷したいのですが、A4用紙は ・縦になると、表は横に二段になってしまいます。 ・表を縦に二段で印刷しようとすると、用紙は横になります。 用紙を縦に、表も縦長で2ページずつ印刷するにはどうすればよろしいでしょうか?