dポイントプレゼントキャンペーン実施中!

EXCELの「行列を入れ替える」マクロについてどなたか教えていただけないでしょうか?

Sheet1で下記のようにならんだDATAがあります。
A列 B列 C列 D列 E列 F列 G列
(1

行)2002/12/17_1 15240 15240 15240 15240 15240 15240
(2行)2002/12/17_2 15241 15241 15241 15241 15241 15241
(3行)2002/12/17_3 15242 15242 15242 15242 15242 15242
(4行)2002/12/17_4 15243 15243 15243 15243 15243 15243
(5行)2002/12/18_1 15250 15250 15250 15250 15250 15250
(6行)2002/12/18_2 15251 15251 15251 15251 15251 15251
(7行)2002/12/18_3 15252 15252 15252 15252 15252 15252
(8行)2002/12/18_4 15253 15253 15253 15253 15253 15253 . . . . . . . . . . . . . . . . . . . . . . .

と,このようにDATAは日付の横に数値が6つずつ横に並んでおりますが、この6つの数値(列B~G))を4つごとの括りで別シートのseet2でA列~D列へ縦に6つ並べたいのですが、一気にできるマクロがないものでしょうか?下記のようにです。

A列 B列 C列 D列
15240 15241 15242 15243
15240 15241 15242 15243
15240 15241 15242 15243
15240 15241 15242 15243
15240 15241 15242 15243
15240 15241 15242 15243
15250 15251 15252 15253
15250 15251 15252 15253
15250 15251 15252 15253
15250 15251 15252 15253
15250 15251 15252 15253
15250 15251 15252 15253
・ ・ ・ ・
・ ・ ・ ・
・ ・ ・ ・
といった感じに一気にマクロで処理してしまいたいのです。DATAはかなりの行数あり、何回でもマクロボタン一発で4行ごとに6つの横に並んだ数値のみを別sheetで縦に並べたいです。つたない説明で大変申し訳ありませんが、どなたかわかる方お教えくださいませ。

A 回答 (1件)

こんにちは!



必ず4行・6列と決まっているのですね?
一例です。
元データはSheet1の1行目からあるとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.Clear
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row Step 4
.Cells(i, "B").Resize(4, 6).Copy
wS.Cells(Rows.Count, "A").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Next i
End With
wS.Rows(1).Delete
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

tomo4さん

ご回答下さり、ありがとうございます!
マクロ初心者なので、思ったとおりに組めずに途方にくれていたので凄く参考になります!
自分も早くtomo4さんみたいに組めるよう頑張って勉強したいと思います><
本当にありがとうございました!

お礼日時:2015/10/24 14:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!