- ベストアンサー
Excel VBAでデータを並び替えたい
D~M列に値が10個入っています。 D1,E1の値を取り出して、A1,B1セルに移動させ、 次はF1,G1の値をA2,B2に移動させ、それをL1,M1をA5,B5に移動するまで繰り返し、 次はD2,E2の値をA6,B6へ移動させ、L2、M2まで繰り返します。 横に10個の数値が入っているものから、2つずつ取り出して 2列縦に値を並べたいのです。 元の値が並んでいるところ(D~M列)は、ところどころ値が10ではなく、4だったり、6だったりしますが、 5つ目と6つ目以降、あるいは7つ目と8つ目以降の値も空白としてA,B列に移動させたいです。 ご教示くださいますよう、お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! >元の値が並んでいるところ(D~M列)は、ところどころ値が10ではなく、4だったり、6だったりしますが とありますが、D列は必ず最終行までデータがあるという前提です。 (D列でD~M列の最終行を取得しているため) 色々やり方はあると思いますが、一例です。 Sub Sample1() Dim i As Long, j As Long, cnt As Long Range("A:B").ClearContents For i = 1 To Cells(Rows.Count, "D").End(xlUp).Row For j = 4 To 12 Step 2 cnt = cnt + 1 Cells(i, j).Resize(, 2).Copy Cells(cnt, "A") Next j Next i End Sub こんな感じではどうでしょうか?m(_ _)m
お礼
あまりに早い回答に驚きました。感謝しきりです。一日無駄にせずにすみました。