• 締切済み

EXCELの横列を挿入しながら縦列に並べ替え

エクセルで横列に入力されている「サイズデータ」を基準になる品番毎に 縦列に並べたいのですが、その際品番をコピーして挿入のように入れたいのですが、可能でしょうか? さらに問題は品番毎にカラーが付いているのですが、それが同じ数ずつ ではないこと、またサイズレンジもSMLや28、29など種類があります。 (添付をご参考にされてください。) コピーして挿入していましたが、データが非常に多いので難儀しております。いくつかの数式を組み合わせれば可能なのでしょうか。 関数もいくつかしか使えず、マクロなどは使ったことがないレベルなので 大変恐縮なのですが、お教え頂けますでしょうか。

みんなの回答

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

マクロです 詳細が分らないので 元データ:Sheet1 1行目:項目見出し A2以降がデータ 出力先:Sheet2 1行目:項目見出し A2以降にデータ出力とします '標準モジュールへ Sub test() Dim vData As Variant Dim i, j, x, y With Worksheets("sheet1") vData = .Range("a2", .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(1, Columns.Count).End(xlToLeft).Column)) End With With Worksheets("sheet2") For i = 1 To UBound(vData, 1) For j = 4 To UBound(vData, 2) Step 3 If vData(i, j) <> "" Then y = .Cells(Rows.Count, 1).End(xlUp).Offset(1).Row For x = 1 To 3 .Cells(y, x).Value = vData(i, x) .Cells(y, x).Offset(, 3).Value = vData(i, j + x - 1) Next x End If Next j Next i End With End Sub 参考まで

avocado-co
質問者

お礼

早速のご返答ありがとうございました! マクロなのですね。教えて頂いた式を頼りに試みてみます。 お忙しいところ本当にありがとうございました。

関連するQ&A