- ベストアンサー
Excelで同じレコード単位で纏め、違うレコードとの間に行を挿入する方法
- Excelのデータを同じレコード単位で纏め、違うレコードとの間に行を挿入する方法を紹介します。1000行以上のデータでも簡単に作業できます。
- ソート済みのデータでA列の値が相違する場合、そこに空白行を挿入します。手作業で1000行も行うのは大変ですが、一括で行うことができます。
- Excelの操作を使えば、簡単に同じレコードをまとめて行挿入することができます。手間を省きたい方におすすめの方法です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロでやるしかないと思います。 現在は途中に空白行がないという前提でマクロを作成しました。 簡単ですので試してください。 ただし、オリジナルデータは控えをとってからにしましょう。(万一失敗したときの用心) 手順は以下のとおりです。 1.データがあるシートを開いたままで、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。 2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。 '********これより下********** Sub test01() Dim myC As Range Set myC = Range("A1") '当初対象セル Do While myC <> "" 'データがある限り Set myC = myC.Offset(1) '対象セルを1個繰下 If myC.Value <> myC.Offset(-1) Then '一つ上のセルと異なる値なら If myC.Offset(-1).Value <> "" Then '一つ上のセルが空白でなければ myC.EntireRow.Insert '1行挿入 End If End If Loop End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 4..Alt+F8キーで出てきたマクロ名(test01)を選択して実行します。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
一般機能を利用してデータの変わり目に空白行を一括挿入するには以下のような操作をします。 補助列のE2セルに「=IF(A2<>A1,1,"")」と入力し、E2セルの右下部分をダブルクリックして数式をオートフィルコピーし、挿入する行の位置に「1」と表示させます。 そのままE2セルから数式が入力されている範囲を選択した状態で、Ctrl+Fのショートカット操作から「オプション」ボタンをクリックし検索対象を「値」にして「すべて検索」し、Ctrl+Aのショートカット操作で対象セルをすべて選択し、選択セルの上で右クリックし、「挿入」から「行全体」でOKすれば、すべてのデータの区切りに空白行が挿入されます。 最後に補助列を選択して、Deleteすれば完成です。
お礼
マクロでなくてもできるんですね。 ですが、常に使用していないと 覚えてられないかもしれません。 どうもありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに回答は出ていますので参考程度で・・・ ごくごく単純にやってみました。 Sub test() Dim i As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 If Cells(i, 1) <> Cells(i - 1, 1) Then Rows(i).Insert (xlDown) End If Next i End Sub 参考になれば幸いです。m(__)m
お礼
すばらしいです。完璧です。 ありがとうございました。
お礼
すばらしいです。 完璧にできました。 10,000行でもチャレンジしましたが できました。どうもありがとうございました。