• ベストアンサー

エクセルで4行毎に3行の空欄を入れるには???

エクセルの初歩的な事だと思うのですが... 1040件のデーターが有り、 4行おきに、3行の空欄を挿入したいんですがさっぱり分かりません??? 一度に出来る方法があれば、詳しく教えて下さい! よろしくお願いします。

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

  • ベストアンサー
  • kee
  • ベストアンサー率13% (63/457)
回答No.1

オフィース95でもできるように基本的なものだけで作成してあります。 ワークシート名はツールのマクロの実行を使えば必要無いですが、 お使いのワークシート名にあわせてお使いください。 a = 1040 + 4 b = a Mod 4 last = a + (b * 3) counter = 1 While counter < last counter = counter + 4 While counter2 < 3 Worksheets("Sheet1").Cells(counter, 1).Insert Shift:=xlDown counter2 = counter2 + 1 counter = counter + 1 Wend counter2 = 0 Wend

nononono
質問者

お礼

なんとかやってみます。ありがとうございました。

nononono
質問者

補足

マクロ自体が、よく分かっていないので面倒なんですが やり方を順に教えていただけませんでしょうか?

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

コードを書いてみました。参考にして下さい。 (1)VBA画面で標準モジュールを挿入します。 (2)下のコードを貼り付けます。 (3)データ入力されたシートに戻って、データの1件目(左端がいい?)を選択して、メニューのツール→マクロ→マクロからGyoSonyuを実行します。 データがある間、選択セルを下に7(4+3)行下げながら行挿入しています。 データが連続に入力(未入力がない)された列を選択することが条件です。普通、一番左の列は有りますが。 Public Sub GyoSonyu() Dim rg As Range 'セル Dim ct As Integer 'カウンタ Set rg = ActiveCell ct = 4 '初期値 While rg.Offset(ct, 0) <> "" 'データが無くなるまで繰り返す rg.Offset(ct, 0).Select '挿入する箇所を決める Selection.EntireRow.Insert '行挿入 Selection.EntireRow.Insert '行挿入 Selection.EntireRow.Insert '行挿入 ct = ct + 7 'カウンタを進める(3行挿入したから行位置は+7) Wend End Sub

関連するQ&A