• ベストアンサー

データ エクセルの改行

いつもお世話になります。 取引先からあるデータをエクセルで頂きましたが、それはA列に1行~8000行まであるデータでした。それをそのまま印刷しようとすると、A4用紙で60枚以上になり大変です。A列にしかないので指定した行で改行し1ページにそのデータをなるべくまとめて印刷したく思います。 1    (株)A社 2    (有)b社 3    (株)c社 4    d商店 5    e商事 |    ・・・・ 7998 f会社(株) 7999 g社 8000 h商店 マクロ組むしかないでしょうか?それしかないならマクロ初心者の私にも出来る方法あれば本あるいはHP教えていただけないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

たとえば、40行目で改列したい場合、 別シートのA1に↓を入力しA40まで式をコピー =INDIRECT("Sheet1!A"&(COLUMN(A1)-1)*40+ROW(A1)) ↓ 次にA1~A40を選択しコピー ↓ B1~を右方向に選択し貼り付け でいかがでしょう?

funuke_hiro
質問者

お礼

こちらは縦でうまくいきました。#1#2の方甲乙付けがたいくらいです。感謝しています。ありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Sheet1のA1からA8000までデータがあるとして、 別シートの  A1,B1,C1,D1  A2,B2,C2,D2   以下続く  A2000,B2000,C2000,D2000 のように4列に並べ替える関数です。これなら印刷するページは少なくて済みます =OFFSET(Sheet1!$A$1,(ROW()-1)*4+COLUMN()-1,0) この式をA1:D2000の範囲に一括してコピーしてみてください。式が理解できれば列数を変えることも可能でしょう。

funuke_hiro
質問者

お礼

この方法でずばり思い通り行きました。ありがとうございます。

関連するQ&A

  • エクセルデータの並べ替えに関して

    エクセルデータの並べ替えに関して A列からH列まで数値が入っていて、それが8,000行くらいあります。(毎回変動します。) A1からH8000くらいのセルに値が入っています。 エクセルを縦長に使用しているので、このまま印刷をすると印刷面の右側半分以上が空白に なってしまいます。 マクロを利用して、これらの値を96行ごとに2列分けたいと思っていますが、どうやったら 良いか、教えていただけないでしょうか。 (マクロ実行前)--------------  A B C D E F G H 1 1 2 3 4 5 6 7 8  2 2 3 4 5 6 7 8 9 3 3 4 5 6 7 8 9 10 4 4 5 6 7 8 9 10 11 ・・・・・・ ---------------------------- のように下方向に数字が並んでいる場合、マクロを実行したら 次のようにしたいと思っています。 (マクロ実行後)--------------  A B C D E F G H (I) J K L M N O P Q 1 1 2 3 4 5 6 7 8(1行空き)97 98 99 100 101 102 103 104 2 2 3 4 5 6 7 8 9(1行空き)98 99 100 101 102 103 104 105 3 3 4 5 6 7 8 9 10(1行空き)99 100 101 102 103 104 105 4 4 5 6 7 8 9 10 11(1行空き)100 101 102 103 104 105 106 ・・・ 96 96 97 98 99 100 101 102 103(1行空き)192 193 194 195 196 197 198 199 97 193 194 195 196 197 198 199 200(1行空き)289 290 291 292 293 294 295 296 ・・・・・・ ---------------------------- (1)A1からH96までを切り取って、J1に貼り付ける。 (2)「(1)」で切り取って出来た空欄を削除して上方向にシフトする。 (3)A97からH192までを切り取って、J97に貼り付ける。 (4)「(2)」で切り取って出来た空欄を削除して上方向にシフトする。 といった操作を「切り取って出来た空欄を削除して上方向にシフトする。」という操作を しようとしたら上方向にシフトするデータがなくなるところまで続けたいと 思っています。

  • エクセル 行数指定し一つのセルに改行込で入れる

    日本語が下手でもうしわけないです。 エクセルのマクロにて、行数指定指定したセルを別セルに 改行を含めて入れたいのです。 具体的なやりたいこととしては、 A列に不定期間隔で不定形の文字列が入力されていて、(間は空白) その文字列から文字列の行数を読み、 B列の同じ行数分のセルをひとまとまりとし、 別シートのA1に改行込みで入れる。 次のまとまりはA2に次はA3に… といった動作をさせたいです。 例. 1.A1,A6,A9に文字列があるとする。間は空白 文字列間の行数を読む (1)A1-A5 (2)A6-A8 (3)A9-最終行 2.A列で取得した行数と同じ行数をB列で指定 (1)B1-B5 (2)B6-B8 (3)B9-最終行 3.B列で指定したセルをひとまとまりとして 別シートのA1から順に改行込みで入れる (1)シート2のA1 B1(改行) B2(改行) B3(改行) B4(改行) B5(改行) (2)シート2のA2 B6(改行) B7(改行) B8(改行) (3)シート2のA3 B9(改行) ・ ・ 最終行 ####### マクロでの実現を考えているのですが、 マクロ初心者でさっぱりわかりません。 どなたか、マクロでの記述例を教えて頂けないでしょうか。 また、関数で実現できるのであれば、そちらも教えて頂きたいです。 宜しくお願いします。

  • MS-excel 10列毎に改行したい

    MS-excel2003で、A1~W1までデータが横並びに入力されています。 これを10列毎に改行したいのですが、マクロでどのようにやればよいでしょうか? 図解すると、、 A1 B1 C1 D1 F1 G1 H1・・・・ のデータを A1 B1 C1 D1 F1 G1 H1 I1 J1 K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 W1・・・・・・ と したいのです。 これをマクロで行いたいのですが、ご教授願えませんか。

  • エクセルのデータ移動(マクロ使用)

    エクセルのSheetAを使用して入力画面を作成し、そのデータをSheetBやSheetCへリンクさせて印刷を行っています。1件ごとの入力になるので、データが残りません。このSheetAのデータを別のSheetDか別のファイルへ行ごとの横一直線という形式で残したいのですが、どうすればよろしいでしょうか? また、反対に移動したデータを戻す場合などどうしたらいいのでしょうか? マクロを利用すればいいように思うのですが、マクロは印刷程度の簡単なマクロの知識しかありません。 もしも、何か方法があるようでしたら、いろんな応用が利きそうなので、今後に向かって幅が広がりそうなので、是非詳しい方お願いします。 <例> 1つめのデータをSheetAへ入力 SheetA セルA1 h16.12.1                  B2 ○○商事                           C3 △△-□□          ↓(データー移行) SheetD セルA1 h16.12.1 B1 ○○商事 C1 △△-□□  (この間にSheetAのデータはすべて削除) 2つめのデータをSheetAへ入力 SheetA セルA1 h16.12.3                 B2 ●●販売                            C3 ▲▲-■■          ↓(データー移行) SheetD セルA1 h16.12.1 B1 ○○商事 C1 △△-□□       A2 h16.12.3 B2 ●●販売 C2 ▲▲-■■

  • EXCELのセル内改行について

    よくある質問としてExcelの見た目と印刷が違うというものがありますが、それを回避するために、セル内の強制改行を使うと思います。 内部統制のRCMで使っている表なのですが、縦書きの列のセルがあります。同じ行にある横書きのセルの内容が少ないため、セル幅を自動調整しようとすると、行の高さが異常に高くなってしまいます。 縦書きのセルはレイアウト上2行(列)に収める必要があるので、縦書きのセルで強制改行すると、思うように治まるのですが、行のセル幅を自動調整すると、勝手に3行(列)になってしまい、印刷できなくなってしまいます。 どの位置で改行してみても、勝手に1文字分が余分な1行(列)になってしまい、マクロで自動調整をした後に印刷をかけようとしているので、見ばえの悪い表になってしまいます。 (うまく表現できていないようでしたらお許し下さい) 縦書きのセルの自動調整をうまく行う方法は無いでしょうか?

  • エクセル2007 同一データが連続したセルの結合について

    はじめて投稿させていただきます。 うまく説明できるかどうか判りませんが、よろしくお願いします。 エクセル2007 で以下のような結果を得られるようなマクロを作りたいと考えています。 横方向にA列~C列の3つの連続したセル内容が同一で縦方向に2つ以上連続した場合のみ、それらの行を結合させたいのです。具体的には下図のような感じです。 何かよい方法があればアドバイスいただきたいと思います。どうかよろしくお願いします。 A列     B列     C列     D列 機種     区分    ユーザー名   納品数 ABC     あああ    田中商店    10 ABC     あああ    田中商店    20 ABC     あああ    田中商店    30 XYZ      いいい    田中商店    25 XYZ      ううう     山田商事    40        ↓ ↓ ↓ ↓ ↓ A列     B列     C列     D列 機種     区分    ユーザー名   納品数                            10 ABC     あああ    田中商店    20                            30 XYZ     いいい    田中商店    25 XYZ     ううう     山田商事    40

  • エクセルのデータ比較

    シート1のA行のデータとB行のデータをすべて比較して、同じデータがあれば C列にそのデータを書き出したいのですが、どうすればよろしいのでしょうか。 行数(比較するデータの数)はそれぞれ数千行あります。 例(a~hはデータです) シート1     A列 B列 a c b d  c f d h の場合、比較した結果をC列に次のように表示させます。 A列 B列  C列 a c c b   d d c f d h どなたかよろしくご教示くださるよう、お願いします。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • エクセルでの印刷設定について

    読んでくださりありがとうございます。 現在、Microsoft Excel2000を使っています。 質問の内容なのですが、今作っているデータの行が500行あります。列は、5,6列程度です。 この500行あるデータを100行ずつに区切り、A3サイズの用紙1枚に印刷することが出来ますでしょうか? 100行ずつ切り取り移動すれば出来るのですが、後々データの追加や削除を行った際に、1行ずつずらしていかなければならないので、なんとか印刷設定などで自動で改行して印刷できないものでしょうか? すみませんが、分かる方お願いいたします。 ※説明不足な点があれば、すみませんがおっしゃってください。補足いたしますので・・・。

  • エクセルでの改行

    エクセルでデータ入力をしています。 カーソルが右に移動する設定なのですが、 改行する度に↓と←キーを使って移動するのが手間です。 データはワンパターンなので、 全ての行の列A~Jまで数字を入力していくものです。 何か簡単に改行の設定をする方法があれば教えて下さい。

専門家に質問してみよう