Excelで固定間隔で特定の行数を挿入するにはどうすればよいですか?
Excelワークシートでは、組み込みの挿入機能を使用して既存の行間に空白行を手動で挿入できます。ただし、大量のデータを扱う場合や、例えば3行ごとやn行ごとに2つの空白行を定期的に挿入する必要がある場合、このタスクを手動で実行するのは時間がかかり、非効率的です。固定間隔での空白行の挿入を自動化することで、時間の節約だけでなくエラーも最小限に抑え、作業フローをよりスムーズにすることができます。次の方法では、特定の基準や繰り返しに基づいて空白行を挿入するソリューションなど、このタスクを迅速かつ便利に達成する方法を紹介します(VBAを使用した場合と使用しない場合の両方)。
➤ VBAコードを使用してデータ範囲に固定間隔で特定の数の空白行を挿入する
➤ VBAコードを使用してセル値に基づいてデータ範囲に特定の数の空白行を挿入する
➤ 便利な機能を使用してデータ範囲に固定間隔で特定の数の空白行を挿入する
➤ Excelの数式を使用して固定間隔で特定の数の空白行を挿入する
➤ VBAコードを使用して特定の数字に基づいて複数回行をコピーして挿入する
➤ 驚くべき機能を使用して特定の数字に基づいて複数回行をコピーして挿入する
VBAコードを使用してデータ範囲に固定間隔で特定の数の空白行を挿入する
次のVBAコードは、既存のデータ範囲内でn行ごとに特定の数の空白行を自動的に挿入するのに役立ちます。このアプローチは、マクロに慣れ親しんでおり、中規模から大規模なデータセットを効率的に処理する必要があるユーザーに適しています。このソリューションのために次の手順を実行してください:
1. ExcelでALT + F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。
2. 「挿入」 > 「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。
VBAコード:固定間隔で特定の数の行をデータに挿入する
Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
Application.Selection.EntireRow.Insert
xNum1 = xNum1 + xNum2
Next
End Sub
3. このコードを貼り付けた後、F5キーを押して実行します。ポップアップボックスが表示され、空白行を挿入したいデータ範囲を選択するように促されます。下記の画像をご覧ください:
4. 「OK」をクリックすると、別のプロンプトボックスが表示されます。ここで、目的の行間隔を入力します(例:3を入力すると、3行ごとに空白行が挿入されます):
5. 「OK」をクリックして続行し、コードが求めるときに挿入する空白行の数を入力します(例:2を入力して2行挿入するなど):
6. 選択内容を確認後、定義された間隔でデータに空白行が挿入されます。以下の比較をご覧ください:
![]() | ![]() | ![]() |
ヒント&注意点:
- このマクロにより、データ範囲を選択し、行間隔と挿入する空白行の数を指定することができます。
- 挿入された行は元に戻すコマンドを使用しない限り取り消せないため、ワークシートをバックアップするか、まずサンプルシートで試してみてください。
トラブルシューティング:エラーが発生した場合は、データがフィルターされていないこと、選択範囲に重複するテーブルがないことを確認してください。予期しない結果が得られた場合は、すぐに元に戻して変更を取り消してください。
VBAコードを使用してセル値に基づいてデータ範囲に特定の数の空白行を挿入する
ワークフローによっては、事前に定義されたセル値のリストに基づいて空白行を挿入する必要がある場合があります。例えば、一致する基準に基づいて各レコード後に空白行を挿入する場合です。このVBAソリューションは、挿入ロジックが固定間隔ではなく隣接列内の値に基づいている場合に理想的です。
✅ 使用タイミング:
- データがカテゴリ別に整理されている場合(例:部門、プロジェクトフェーズ、営業担当者など)に推奨され、グループ間のスペースや空白行を挿入する必要があります。
- 選択が正確であることを確認してください。マクロは選択されたセルを使用して行を挿入する場所を決定します。
1. ExcelでALT + F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。
2. 「挿入」 > 「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。
VBAコード:数字のリストに基づいて特定の数の空白行を挿入する:
Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub
3. 貼り付け後、F5キーを押してコードを実行します。表示されるダイアログボックスで、空白行を挿入する必要のある数字のリスト(または関連するセル)を選択します。
4. 「OK」をクリックすると、次のスクリーンショットに示すように意図した結果が表示されます:
![]() | ![]() | ![]() |
エラーリマインダー:参照リストに空のセルや非数値文字が含まれている場合、コードのロジックを確認するか、このマクロを実行する前にデータをクリーンにしてください。
便利な機能を使用してデータ範囲に固定間隔で特定の数の空白行を挿入する
VBAを使用したくない場合や、より視覚的でインタラクティブな方法を好む場合は、Kutools for Excelの「空白行および列の挿入」機能が役立ちます。シンプルなクリック操作で、データ範囲全体にわたって任意の間隔で空白行または列を追加できるため、特に繰り返しの多い報告書作成やフォーマット作業において生産性が大幅に向上します。
Kutools for Excelをインストールした後、次の手順に従ってください:
1. 定期的な間隔で空白行を挿入する必要のあるデータ範囲を選択します。
2. 下記のように「Kutools」 > 「挿入」 > 「空白行および列の挿入」に進みます:
3. 「空白行および列の挿入」ダイアログボックスで、「挿入タイプ」で「空白行」を選択し、間隔と挿入する空白行の数を指定します(例を参照):
注:設定は柔軟です。4行ごとに2行の空白行が必要な場合は、間隔を4、空白行の数を2に設定します。
4. 次に「OK」ボタンをクリックすると、指定した間隔で選択範囲内に空白行が挿入されます。以下をご覧ください:
![]() | ![]() | ![]() |
利点:このソリューションは使いやすく、コーディング不要で、頻繁に行や列の構造を調整する必要がある人にとって特に役立ちます。
今すぐKutools for Excelをダウンロードして無料体験版をお試しください!
Excelの数式を使用して固定間隔で特定の数の空白行を挿入する
マクロやアドインを使用できない場合でも、ヘルパー列とMODやROWなどの組み込みExcel関数を使用して、固定間隔で空白行を挿入する目標を達成できます。この方法は、スクリプティングが制限されているが基本的な数式の使用や並べ替えが可能な場合に特に有用です。
✅ 使用タイミング:ワークブックをマクロフリーに保ちたい場合、広い互換性が必要な場合、またはデータのインポート/エクスポートワークフローで空白行による視覚的な区切りが必要な場合に最適です。
⚠️ 注意点:この方法は実際に空白行を挿入するわけではなく、追加の行とヘルパー数式を使用してシミュレーションします。その後、データを並べ替えてシミュレートされた空白を配置する必要があります。これは小規模から中規模のデータセットに適した回避策です。
手順:
- データが入っているセルがあると仮定します A2:B11新しいヘルパー列(例:C列、C2から開始)に次の数式を入力します:
置き換えます=INT((ROW()-ROW($A$2))/(n+1))
n
空白行を挿入したい間隔で指定します。例えば、次の行ごとに1行の空白行を挿入するには: 3 行を使用します:=INT((ROW()-ROW($A$2))/3)
- 数式をデータセット全体にドラッグしてグループ番号を割り当てます。
- 最後のデータ行の下に、A列とB列に空白の値を持つ追加行を追加します。ヘルパー列(C列)に、それらが正しくグループ化されるように既存のものと同じグループ番号を入力します。
- 全範囲(元のデータ+追加行)を選択し、ヘルパー列で並べ替えを行い、必要に応じて二次的な並べ替えを適用します。これで、n行ごとに空白行が表示されます。
🟡 エラーリマインダー:
- 空白行に正しいグループ番号を割り当てることを忘れないでください。不一致があると、予期しない場所に表示される可能性があります。
- この方法では並べ替え後に物理的な行が追加されるため、保存またはエクスポートする前に最終レイアウトを確認してください。
まとめとヒント:VBAやKutoolsのようなツールほど効率的ではありませんが、この数式ベースの方法は普遍的に互換性があり、スクリプトに依存しません。頻度が低い軽量なタスクには、シンプルで柔軟な回避策を提供します。
VBAコードを使用して特定の数字に基づいて複数回行をコピーして挿入する
タスクが単に空白行を挿入するだけでなく、既存のデータ行を特定の数だけ複製して挿入する必要がある場合(おそらく別の数字のリストに基づいて)、次のVBAコードは実用的な自動化方法を提供します。これは、販売注文、シナリオ、リソース計画などのエントリを複製する場合に特に役立ちます。
![]() | ![]() | ![]() |
これを実装するには、次の詳細な手順に従ってください:
1. ExcelでALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2. 「挿入」 > 「モジュール」をクリックし、モジュールウィンドウに以下のコードを貼り付けます。
VBAコード:特定の数字に基づいて複数回行をコピーして挿入する:
Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub
注意点:行を複製するVBAスクリプトを実行する前には必ずデータをバックアップしてください。これらのスクリプトはデータを急速に増やし、簡単に元に戻せない場合があります。
3. コードが準備できたら、F5キーを押してマクロを実行します。ダイアログボックスで、各行を何回複製して挿入するかを表す数字のリストを選択します。
4. 「OK」をクリックすると、指定された数の行がそれぞれの元の行の下にコピーされて挿入されます。以下をご覧ください:
![]() | ![]() | ![]() |
ヒント:このソリューションはデータ準備タスクに最適ですが、さらに無関係な操作を行った場合、VBAマクロは元に戻せないためリアルタイム入力には適していません。
驚くべき機能を使用して特定の数字に基づいて複数回行をコピーして挿入する
プログラミングスキルを必要とせず、直感的に行を複製して挿入するプロセスを望む方には、Kutools for Excelの「指定されたデータに基づいて行/列を複製する」機能が効率的な代替手段です。このツールを使用すると、参照セル値またはリストに基づいてどの行または列をどれだけ複製するかをいくつかの簡単な選択肢で指定できます。
Kutools for Excelをインストールした後、次の手順に従ってください:
1. 下記のように「Kutools」 > 「挿入」 > 「指定されたデータに基づいて行/列を複製する」に進みます:
2. 「行および列のコピーと挿入」ダイアログボックスで、「行のコピーと挿入」をタイプとして選択し、複製したいデータ範囲を指定し、次に参照として使用する値リストを指定します(表示されている通り):
ヒント:テストサンプルの生成、取引テンプレートの複製、または複雑なスクリプトなしで設定やレコードを迅速に増やすために使用します。
4. 最後に「OK」または「適用」をクリックして、次の出力を生成します:
![]() | ![]() | ![]() |
注:期待通りの結果を得るためには、値リストがデータに正しく対応していることを確認してください。
今すぐKutools for Excelをダウンロードして無料体験版をお試しください!
関連記事:
- 行を複数回コピーして挿入する、または行をX回複製する
- 日常業務の中で、現在のデータ行の下に特定の行をコピーして複数回挿入しようとしたことがありますか?例えば、一連のセルの範囲があり、その各行を次の行に3回コピーしたい場合です(下記のスクリーンショットを参照)。Excelでこの作業をどのように処理しますか?
- Excelで値が変わる際に空白行を挿入する
- データ範囲があり、値が変わる際にデータ間に空白行を挿入したいとします。これにより、1列内の連続した同じ値を分離することができます(下記のスクリーンショットを参照)。この記事では、この問題を解決するためのいくつかのコツをご紹介します。
- Excelで特定のテキストの後に空白行を挿入する
- 特定のテキストの後に空白行を挿入したい場合(下記のスクリーンショットを参照)、それを手動で1つずつ挿入せずに迅速かつ簡単に処理するにはどうすればよいですか?
- 基準に基づいて複数のワークシートから行をコピーして新しいシートに挿入する
- 3つのワークシートを持つワークブックがあり、それらすべてが下記のスクリーンショットに示すように同じフォーマットを持っているとします。そして、列Cに「完了」というテキストが含まれるすべての行を新しいワークシートにコピーしたいとします。これを手動で1つずつコピー&ペーストせずに迅速かつ簡単に解決するにはどうすればよいですか?
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得