前提・実現したいこと
ある特定の条件でエクセルのシートに行を追加したいと思っています。
画像のような形で、C列にa,b,cというデータがあり、それぞれを別のシートで必ず5行分データを出力するようにして、追加された行には番号のみを振り当ててF列のデータの値には空白が入るようにしたいです。C列のデータはd,e,f...と続いていきます。
最終行からみて、C列のデータが上のデータと違うなら行を挿入すればいいのかと思ったのですが、データの数が不規則で何行入るかわからないためできませんでした。
どう考えればいいのか全く分からないので、考え方や参考になりそうなサイトがあれば教えて頂きたいです。
投げっぱなしの質問で申し訳ありません。。。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
VBA
1Sub CommandButton1_Click() 2 Dim wb1 As Workbook 3 Dim awb1 As Worksheet 4 Dim wb2 As Workbook 5 Dim awb2 As Worksheet 6 Dim m As Long 7 Dim n As Long 8 9 Set wb1 = ActiveWorkbook 10 Set awb1 = wb1.Worksheets(1) 11 12 Workbooks.Add 13 14 Set wb2 = ActiveWorkbook 15 Set awb2 = wb2.Worksheets(1) 16 17 awb1.Columns(2).Copy 18 awb2.Columns(2).PasteSpecial 19 20 awb1.Columns(3).Copy 21 awb2.Columns(3).PasteSpecial 22 23 m1 = awb1.Cells(Rows.Count, 3).End(xlUp).Row 24 n1 = awb2.Cells(Rows.Count, 3).End(xlUp).Row 25 26 For m = 2 To n1 27 m2 = awb2.Cells(n1, 3) 28 m3 = awb2.Cells(n1 - 1, 3) 29 30 If Not m2 = m3 Then 31 awb2.Rows(n1).Insert 32 End If 33 34 n1 = n1 - 1 35 If n1 = 2 Then 36 Exit For 37 End If 38 39 Next m 40 41End Sub
試したこと
実行するとこうなります。
これを1行追加するのではなく、それぞれの項目が必ず5行になるようにしたいです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー