同じレコード単位で纏めて、違うレコードとの間に行挿入をしたい。
A列~D列まで入力されて1000行あります。
A列を基準にソート済みなので以下のようになります。
A列 B列 C列 D列
A1 123 AA BB CC
A2 123 DD BB CC
A3 123 DD EE CC
A4 456 FF GG HH
A5 456 JJ KK CC
A6 789 JJ LL MM
A7 789 NN PP QQ
A8 789 RR PP CC
これでA列の値が相違する場合そこに空白行を挿入したいです。
A列 B列 C列 D列
A1 123 AA BB CC
A2 123 DD BB CC
A3 123 DD EE CC
A4
A5 456 FF GG HH
A6 456 JJ KK CC
A7
A8 789 JJ LL MM
A9 789 NN PP QQ
A10 789 RR PP CC
これを1000行手作業で行うのは大変なので一括で行いたいです。
方法はありますでしょうか?
お願いします。
No.1ベストアンサー
- 回答日時:
マクロでやるしかないと思います。
現在は途中に空白行がないという前提でマクロを作成しました。
簡単ですので試してください。
ただし、オリジナルデータは控えをとってからにしましょう。(万一失敗したときの用心)
手順は以下のとおりです。
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)を選択して実行します。
No.3
- 回答日時:
一般機能を利用してデータの変わり目に空白行を一括挿入するには以下のような操作をします。
補助列のE2セルに「=IF(A2<>A1,1,"")」と入力し、E2セルの右下部分をダブルクリックして数式をオートフィルコピーし、挿入する行の位置に「1」と表示させます。
そのままE2セルから数式が入力されている範囲を選択した状態で、Ctrl+Fのショートカット操作から「オプション」ボタンをクリックし検索対象を「値」にして「すべて検索」し、Ctrl+Aのショートカット操作で対象セルをすべて選択し、選択セルの上で右クリックし、「挿入」から「行全体」でOKすれば、すべてのデータの区切りに空白行が挿入されます。
最後に補助列を選択して、Deleteすれば完成です。
No.2
- 回答日時:
こんばんは!
すでに回答は出ていますので参考程度で・・・
ごくごく単純にやってみました。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) 列を挿入しても式の一部を固定するには 6 2023/05/31 21:57
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Excel(エクセル) Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、 3 2023/03/06 19:05
- 数学 行列の問題が分かりません。 3次正則行列Aの列ベクトル分割をA=(a1 a2 a3)とおくとき,次を 4 2022/06/23 08:34
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
エクセル 上下で列幅を変えるには
-
エクセルのマクロで意図しない...
-
アクティブになっている行をマ...
-
excelのデータで色つき行の抽出...
-
Excel 時刻の並び替え
-
Excel グラフのプロットからデ...
-
セルの色によって条件文をつけ...
-
VBAで色の付いているセルの行削除
-
Excelでカタカナ・ひらがな・英...
-
エクセル マクロ オートフィ...
-
Excel VBA アクティブセルから...
-
Excel2007で、指定範囲の行高さ...
-
[EXCEL]ボタン押す→時刻が表に...
-
サイズの違うセル 並べ変え
-
エクセルマクロ オートSUM(合...
-
特定の文字がある行以外を削除...
-
AのセルとB行を比較して、一致...
-
電話番号の入力方式が違うデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報