• ベストアンサー

EXCEL1行おきに空白行を追加したいのですが、

データが行方向にたくさん連続して入力されたリストがありますが、1行おきに空白行を挿入したいのです。 その都度、「右クリック→行番号選択→挿入」では、時間がかかり過ぎてしまいます。 たとえば、1000の空白行を1行おきに一気に挿入する方法はないでしょうか。ご教授くださいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.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

shigotonin2000
質問者

お礼

完璧です。意図したとおりになりました。 ありがとうございます。本当に助かりました!

その他の回答 (3)

  • tessyu
  • ベストアンサー率53% (59/110)
回答No.3

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)
回答No.2

並べ替えを使うかマクロを使うかですね。 並べ替えでいいなら 空いている列の先頭行に1と入力、下のセルに =上のセル+1 としてレコードの終わりまでコピーする。 その列をコピーして、値として貼り付ける。 レコード行部分の範囲をコピーして最終行の下に貼り付ける。 1,2,3,4,5,6,7,8......,2,3,4,5,6,7,8..... の状態になったらこの列で並べ替える。 最後にこの列を削除する。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。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列の値は削除してしまって構いません。

関連するQ&A