- ベストアンサー
EXCEL1行おきに空白行を追加したいのですが、
データが行方向にたくさん連続して入力されたリストがありますが、1行おきに空白行を挿入したいのです。 その都度、「右クリック→行番号選択→挿入」では、時間がかかり過ぎてしまいます。 たとえば、1000の空白行を1行おきに一気に挿入する方法はないでしょうか。ご教授くださいませ。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 マウスで空行を挿入する範囲を選択してから、実行して下さい。 挿入行数を変更するには、コードを修正して下さい。 参考ですが、表全体を選択するには、表の一部のセルをクリックし、 [Ctrl]+[*] で表全体が選択されます。 Sub InsertEmptyRows() '挿入行数をここで指定 Const cstCnt As Long = 1 Dim rngArea As Range Set rngArea = Intersect(Selection, ActiveSheet.UsedRange) With rngArea Application.ScreenUpdating = False For i = .Row + .Rows.Count To .Row + 1 Step -1 Rows(i).Resize(cstCnt).Insert Shift:=xlShiftDown Next i End With Set rngArea = Nothing End Sub
その他の回答 (3)
- tessyu
- ベストアンサー率53% (59/110)
Sub test() Sheets("sheet1").Select Range("A2").Select Do Until ActiveCell.Value = "" ActiveCell.EntireRow.Insert ActiveCell.Offset(2, 0).Select Loop End Sub このようなマクロでどうでしょうか。
- mshr1962
- ベストアンサー率39% (7417/18945)
並べ替えを使うかマクロを使うかですね。 並べ替えでいいなら 空いている列の先頭行に1と入力、下のセルに =上のセル+1 としてレコードの終わりまでコピーする。 その列をコピーして、値として貼り付ける。 レコード行部分の範囲をコピーして最終行の下に貼り付ける。 1,2,3,4,5,6,7,8......,2,3,4,5,6,7,8..... の状態になったらこの列で並べ替える。 最後にこの列を削除する。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 どこかの列を作業列として使用します。 仮に作業列をE列とすると、 E1に「1」、E2に「3」と入力して、E1:E2を下の行へ(データ最下行まで)コピーします。 (1、3、5・・・と1つ飛びに値が入るようにします。) 次にデータ最下行のすぐ下のぎょうに「2」、その下に「4」と入力して、この2行を下の行へデータ数分コピーします。 (2、4、6・・・と1つ飛びに値が入るようにします。) そうしたら、この作業列(E列)を含めてデータ列を選択して、この作業列(E列)を基準に昇順に並べ替えをします。 これで、E列は「1、2、3、4・・・」となって、偶数の空白行が1行おきに入ります。 終わったらE列の値は削除してしまって構いません。
お礼
完璧です。意図したとおりになりました。 ありがとうございます。本当に助かりました!