• ベストアンサー

Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変

Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変です。 そこでマクロを作って作業をさせたいのですが、どのように記述すればよいでしょうか? (現状の表組)※左の数値がレコード数です。 1|A| |C| | |B| |D| | 2|E| |G| | |F| |H| | (このように整形したい表) 1|A|B|C|D| 2|E|F|G|H| このレコードが何百と下に並んでいる状態です。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

sub macro1()  dim r as long  r = range("B65536").end(xlup).row  with range("C1:C" & r & ",E1:E" & r)   .formular1c1 = "=IF(RC1="""","""",R[1]C[-1])"   .value = .value  end with  range("1:1").insert  range("A:A").autofilter field:=1, criteria1:="="  cells.delete shift:=xlshiftup end sub とか。

その他の回答 (2)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

元の表の形式はどっち?

hisashi65
質問者

補足

すいません、わかりにくかったですね。 Bの方となります。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

マクロの記録で記録したものです こんなことがしたいのでは? Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/5/10 ユーザー名 : hige_082 ' ' Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="" & Chr(10) & "", FieldInfo:=Array(Array(1, 1), Array(2, 1)) Columns("C:C").Select Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="" & Chr(10) & "", FieldInfo:=Array(Array(1, 1), Array(2, 1)) End Sub 参考まで

関連するQ&A

  • Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変

    Exelの表を以下のように全行組み替えたいと思いますが、手作業では大変 Exel の表を以下のように全行組み替えたいと思いますが、手作業では大変です。 そこでマクロを作って作業をさせたいのですが、どのように記述すればよいでしょうか?

  • 2つの表を合わせた表3作成したい

    表1 A B  C  D  E  F G  H  I  名称 1 01 00 00 00 00 000 00 00 00  あ 2 01 01 00 00 00 000 00 00 00  い 3 01 01 01 00 00 000 00 00 00  う 4 01 01 01 01 00 000 00 00 00  え 5 01 01 01 01 01 000 00 00 00  お 6 01 01 01 01 01 001 00 00 00  か 7 01 01 01 01 01 001 01 00 00  き 8 01 01 01 01 01 001 01 01 00  く 9 01 01 01 01 01 001 01 01 01  け 10 01 01 01 01 01 001 01 01 02  こ 20 01 01 01 01 01 001 01 02 00  阿 21 01 01 01 01 01 001 01 02 01  居 22 01 01 01 01 01 001 01 02 02  卯 100 02 00 00 00 00 000 00 00 00  亜 101 02 01 00 00 00 000 00 00 00  医 102 02 01 01 00 00 000 00 00 00  宇 AからIの欄には入る数字によって名称が変わります。 表2 A  B  C  D  E  F G  H  I   1 01 01 01 01 01 001 01 01 01  2 01 01 01 01 01 001 01 01 02  3 01 01 01 01 01 001 01 01 03  4 01 01 01 01 01 001 01 02 01  5 01 01 01 01 01 001 01 02 02  6 02 01 01 01 01 001 01 01 01  この2つの表を合わせた表3を作成したいのです。 表3 A  B  C  D  E  F  G  H  I 1 01あ 01い 01う 01え 01お 001か 01き 01く 01け 2 01あ 01い 01う 01え 01お 001か 01き 01く 02こ  3 01あ 01い 01う 01え 01お 001か 01き 01阿 01居  4 01あ 01い 01う 01え 01お 001か 01き 01阿 02卯

  • Excelで複数行を1行にするマクロについて

    Excel2000で3行を繰り返し、1つの行にまとめていくマクロの書き方についてご教授ください。 例えば下記のような並びの時、 A B C D E F G H I ..... マクロを使って、 A B C D E F G H I ...... のようにしたいと考えています。

  • 表の値を組み合わせて新しい表を生成したい

    表の値を組み合わせて新しい表を生成したい 元となる表は↓のようなものです。 0  0501  A 1  0502  B 2  0503  C 3  0504  D 4  0505  E 5  0506  F 6  0507  G 7       H 8 9 10 これをもとに繰り返し処理を行い、↓のような新しい表を生成したいのです。         A  B  C  D  E  F  G  H 0  0501 0  0502 0  0503 0  0504 0  0505 0  0506 0  0507 1  0501 1  0502 1  0503 1  0504 1  0505 1  0506 1  0507 2  0501 2  0502 2  0503 2  0504 2  0505 2  0506 2  0507 3  0501 3  0502 3  0503 3  0504 3  0505 3  0506 3  0507 ・ ・ ・ VBAもOKwaveも初心者です。あつかましいのですが、どなたかVBAの例文を作っていただけないでしょうか・・・ ようするには、もとの表の値を使って、集計表を作りたいのです。

  • EXCELの表で縦横の入れ替え方法

    EXCELの表で 縦軸と横軸を入れ替える方法ってありますか? つまり A B C D E F G H I J K L っていう表を A E I B F J C G K D H L にしたいのです。

  • エクセルに以下のような複雑な計算をさせたいです。

    エクセルに以下のような条件の計算をさせたいです。 「2a , 3b , 5c , 6d , 8e , 10f」 a+b+c+d+e+fが上のどれよりも小さくなる場合の、 a,b,c,d,e,fの数字の組みわせで最も小さいものを求めたいです。 2a ≧ a+b+c+d+e+f 3b ≧ a+b+c+d+e+f 5c ≧ a+b+c+d+e+f 6d ≧ a+b+c+d+e+f 8e ≧ a+b+c+d+e+f 10f ≧ a+b+c+d+e+f (ただし、a,b,c,d,e,fは正の数) ※分かりやすいように、これらの数字は適当に入れたので、答えが無いかと思います。 実際は別の数字に置き換えます。 ※また、コンピュータが無限に計算し続けることを防ぐために上限を決めてもいいです 関数かマクロで計算させる方法を教えて下さい。 わかりやすくなるようにシンプルに説明しましたが、 実際は最大13組まで計算することになり、 自力でも計算してみましたが、とてつもなく時間がかかりました。 出来ればコンピューターに計算させたいと思い質問しました。

  • 縦に並んでいる表をマクロで横に並び替えたい。

    以下のような縦に並んだ表を、 (A列には、日付/NO、B列には文字列が入力されています。)    A      B  ------------- 1 │ 10月1日   2 │NO      3 │1      A 4 │2      B 5 │3      C 6 │10月2日 7 │NO 8 │1      D 9 │2      E 10│3      F 11│4      G 12│5      H 13│10月3日 14│1       I 15│2       J 16│10月4日 17│・      ・ 18│・      ・ 19│・      ・ 20│・      ・ 以下のように横に並び替えたい。    A      B    C     D    E     F     G ----------------------------------------------------------------- 1 │ 10月1日     10月2日      10月3日      10月4日 ・・・・   2 │NO         NO          NO          NO       3 │1      A   1      D    1      I 4 │2      B   2      E    2      J 5 │3      C   3      F 6 │           4      G 7 │           5      H 8 │      9 │ 日付ごとに項目数が異なるので、 どのようにマクロを組めばいいのか分からず困っております。。 ご回答よろしくお願い致します><!

  • 作業時間のグラフ作成について

    excel2010 データベースから抽出した作業開始時刻と、終了時刻、時間のデータを利用し、 グラフ化する為の表を作成する方法を教えてください。 下記で表.1から表.2へ展開する方法です。 データベースからは、下記の様な構成で抽出されます。 表.1 内容   開始時刻       終了時刻      時間 a     201409020944    201409020955   11 b     201409020955    201409021003   8 b     201409021016    201409021049   33 c     201409021049    201409021108   19 d     201409021108    201409021120   12 d     201409021632    201409021641   9 e     201409021120    201409021130   10 e     201409021215    201409021231   16 e     201409021420    201409021445   25 e     201409021641    201409021700   19 e     201409021715    201409021720   5 f     201409020852    201409020903   11 f     201409021231    201409021349   78 f     201409021445    201409021502   17 f     201409021516    201409021612   56 f     201409021720    201409021850   90 g     201409020927    201409020944   17 h     201409020903    201409020927   24 h     201409021349    201409021420   31 h     201409021612    201409021632   20 h     201409021850    201409021912   22 グラフ化するために下記の内容で加工します。 文字列データを時間形式に変更 OFFの時間とONの時間を下記の様に計算 kadou=終了時刻-開始時刻 hikadou=次の開始時刻-前の終了時刻 で次の様な表を作成します。 表.2  hikadou kadou hikadou kadou hikadou kadou hikadou kadou hikadou kadou a 09:44  00:11 b 09:55  00:08  00:13  00:33 c 10:49  00:19 d 11:08  00:12  05:12  00:09 e 11:20  00:10  00:45  00:16  01:49  00:25  01:56  00:19  00:15  00:05 f 08:52  00:11  03:28  01:18  00:56  00:17  00:14  00:56  01:08  01:30 g 09:27  00:17 h 09:03  00:24  04:22  00:31  01:52  00:20  02:18  00:22 上記、表.2は、手動で1つずつ計算して作成したものです。 表.2を積み上げ横でグラフ化したものが添付のグラフ1、 hikadouの内容を色なしにして、軸等の設定を時間指定にしたものがグラフ2です。 1つのレコードで複数の開始時刻と終了時刻があるものについてのグラフ作成方法で紹介されておりました。 表.1のレコードは日々変わるので、どうやったら、簡単に表.2が作成できるかを教えていただきたく。 尚、表.2の構成にはこだわりません。 欲しいのは、表.1からグラフ2を作成したいのです。

  • Excelマクロ 表の書き換え方法教えてください

    2日くらいあれこれやってみたのですが、全くできないためお教えいただけますでしょうか。 1 2 3 4 5 6 7 A a b c d e f g B h i j k l m n C o p q r s t D u v w x y z (以下続く) 注)A1セルは空白、1、a、h、o、uは同じ列になります という表(Book1.xls)を下記(Book2.xls)へ変更するマクロを作りたいと思っています。 A 1 a A 2 b A 3 c A 4 d A 5 e A 6 f A 7 g B 1 a B 2 b (以下略) Book1の行数は任意、1~7は固定、abcde…は空白セルもあります。 いいマクロがありましたらぜひご教授ください。 よろしくお願い致します。

  • エクセルにて複数セルの並び替え

    こんにちは、エクセルについて教えてください。列はA~Hまで、行は1~200行ほどに値が入っています。 例えばValueが以下のようだとします。 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 ... これらのValueを、別のSheetに以下のように並び替えたいのですが、 A1 B1 C1 D1 E1 F1 G1 H1 A2 B2 C2 D2 E2 F2 G2 H2 A3 B3 ...と、これがA200~H200の行分まで。なのでPaste後は800行になります。どうにかマクロか何かで簡単に 出来ないかと思い、どなたかご教授いただければと思います、よろしくお願いします!

専門家に質問してみよう