VBAを使ってExcelに行を挿入する方法:3つの確実な方法

VBA を使用して Excel に行を挿入するには、Insertワークシートの行に対してメソッドを使用します。以下の 3 つの例では、1 行または複数行の空白行の追加、既存の行のコピーの挿入、および継承された書式設定のない空白行の作成について説明します。各マクロはData、という名前のワークシートを対象としています。この名前を、ワークブック内の正確なタブ名に置き換えてください。

ステップ1:ワークブックを準備し、VBAエディターを開きます。

Excelのデスクトップ版を使用してください。Web版Excelではマクロを含むブックを開くことはできますが、VBAマクロの作成、編集、実行はできません。ブックに重要なデータが含まれている場合は、コードを実行する前にバックアップコピーを保存してください。行の挿入によって、挿入ポイントより下の行が移動するためです。

Windowsでは、Alt+F11キーを押してVisual Basic Editor(VBE)を開きます。または、[開発] > [Visual Basic]を選択することもできます。VBEで、[挿入] > [モジュール]を選択し、空のモジュールにマクロを貼り付けます。MicrosoftのVBEに関する説明にも、同じモジュール操作手順が記載されています。

ExcelとVisual Basic Editorを開き、Module1を開いて、Dataワークシートに4行目を挿入するマクロを実行します。
マクロを追加するには、Visual Basic Editorで標準のVBAモジュールを開きます。

ステップ2:3つの行挿入方法から1つを選択します。

方法1:1つまたは複数の空白行を挿入する

このマクロは、現在の行4の上にワークシートの行全体を挿入します。Shift:=xlDown引数は、Excelに既存のセルを下に移動してスペースを確保するように指示します。Range.Insertのリファレンスには、シフトと書式設定のオプションが記載されています。

Sub InsertOneRow()
    ThisWorkbook.Worksheets("Data").Rows(4).Insert Shift:=xlDown
End Sub

3行目より上から2行を挿入するには、行範囲を使用します。

Sub InsertTwoRows()
    ThisWorkbook.Worksheets("Data").Rows("3:4").Insert Shift:=xlDown
End Sub

3行目と4行目が挿入され、既存の行は下に移動します。行番号を変更して、新しい行の開始位置と追加する行数を指定してください。ThisWorkbook参照とは、マクロが変更対象のブックに保存されている必要があることを意味します。

Excelワークシートに、AlphaとBravoの間に2つの空白行を挿入し、後のレコードを下に移動させた。
3行目と4行目を挿入すると、2行分の空白ができ、既存のレコードが下に移動します。

方法2:既存の行のコピーを挿入する

新しい行に既存の行の値、数式、書式を繰り返す必要がある場合は、このバージョンを使用してください。まず、6 行目にスペースを作成し、次に 2 行目をその新しいスペースにコピーします。元の 2 行目はそのまま残ります。Microsoft は、オプションの destination 引数について、Range.Copy のリファレンスで説明しています。

Sub InsertCopyOfRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(6).Insert Shift:=xlDown
        .Rows(2).Copy Destination:=.Rows(6)
    End With
End Sub

2を元の行番号に、を複製する行番号に置き換えてください6。行全体がコピーされるため、挿入されたコピーを使用する前に、数式と参照を確認してください。

Excelワークシートの6行目に、元の行はそのまま残した状態で、Alpha行のコピーを挿入した状態。
コピーされたアルファ行は6行目に表示され、元の行は2行目に残ります。

方法3:書式をコピーせずに行を挿入する

Excelでは、隣接する行の書式設定が挿入された行に引き継がれる場合があります。行を挿入した後、その行ClearFormatsに対して書式設定を削除する操作を実行してください。

Sub InsertUnformattedRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(3).Insert Shift:=xlDown
        .Rows(3).ClearFormats
    End With
End Sub

この操作は、挿入されたワークシート行の書式設定をクリアします。他の行の値は削除されません。このメソッドについては、Microsoft のClearFormats ドキュメントを参照してください。

Excel ワークシートには、空白の行 3 と、EntireRow.Insert および ClearFormats を呼び出す VBA コードがあります。
ClearFormatsは、挿入された行から継承されたセル書式を削除します。

ステップ3:マクロを実行して結果を確認する

VBEに戻り、実行したいプロシージャ内の任意の場所にカーソルを置いてF5キーを押します。または、Excelに戻り、[開発] > [マクロ]を選択し、マクロ名を選択して[実行]を選択することもできます。利用可能なオプションについては、MicrosoftのExcelでのマクロ実行ガイドを参照してください。

保存する前に、目的のワークシートに期待どおりの行が挿入されていることを確認してください。ブック内の VBA コードを残したい場合は、Excel マクロ有効ブック (.xlsm)として保存してください。通常のファイルとして保存すると、 VBA マクロは保持されません。この点については、Microsoft のマクロ保存手順.xlsxで説明しています。信頼できるソースからのマクロのみを実行し、組織のマクロセキュリティ ポリシーに従ってください。

よくある問題

  • 「添え字が範囲外です」:コード内のワークシート名がタブ名と完全に一致していません。"Data"タブにスペースが含まれている場合は、スペースを含めて更新してください。
  • 行が間違ったワークブックに表示されます。コードではThisWorkbook、マクロを含むファイルを参照する を使用しています。モジュールを編集するワークブックに保存してください。
  • ブラウザーでは何も実行されません。デスクトップ版Excelでファイルを開いてください。Web版ExcelではVBAマクロを実行できません。MicrosoftのWeb版Excel VBAに関するガイダンスを参照してください。

これらの例では、ワークシートの行全体を挿入しています。データがExcelテーブルで、テーブルレコードを追加する場合は、テーブルのListRows.Addメソッドを使用して、新しいエントリがテーブルに属するようにしてください。

コメントを残す

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelのセル内ツールを使ってチェックボックスを挿入する方法、数式を使ってチェックされた項目の数を数える方法、古いデスクトップ版でリンクされたフォームコントロールを追加する方法を学びましょう。

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelでフィルハンドル関数、SEQUENCE関数、または再利用可能なカスタムリストを使用して、AからZまでのアルファベット、小文字、またはZを超えるラベルを生成します。

Excelで取り消し線を引く方法:ショートカットと手順

Excelで取り消し線を引く方法:ショートカットと手順

Windows、Mac、Web版Excelで取り消し線を引く方法、セルの一部に書式を設定する方法、値を削除せずに行を削除する方法を学びましょう。

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessは、関連レコードの保存、クエリの作成、データ入力フォームの作成、レポートの生成を行うためのWindowsデータベースアプリケーションです。その仕組みと最適な活用シーンについて解説します。

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を調整する方法、表示される線の頻度を変更する方法、および下地となる水平方向と垂直方向の描画グリッドの間隔を設定する方法を学びましょう。

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Outlook 2010にPSTファイルをインポートする方法、またはメール、連絡先、カレンダー、タスクをエクスポートする方法を学びましょう。正しいメニューに従い、フォルダの欠落や重複を避けてください。

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Kernelが提供する最新の手順では、忘れてしまったOutlook PSTファイルのパスワードを復元する方法を解説します。正しいファイルの特定方法、バックアップの作成方法、ツールの制限事項の確認方法などが含まれています。

PowerPointスライドにライブWebページを挿入する方法

PowerPointスライドにライブWebページを挿入する方法

LiveWebアドインを使用すると、WebサイトをPowerPointスライドに配置し、サイズや更新動作を設定し、プレゼンテーション前に互換性を確認できます。

Access 2010データベースをフォームで開く方法

Access 2010データベースをフォームで開く方法

Access 2010データベースアプリケーションを、データ入力フォームに直接開くように設定し、オブジェクトリストを非表示にし、メニューを制限し、共有前に設定を確認します。

Word 2010で既定のフォントと標準スタイルを変更する方法

Word 2010で既定のフォントと標準スタイルを変更する方法

Word 2010で既定のフォント、サイズ、テキスト効果を設定し、その設定をNormal.dotmに保存し、今後の文書のためにNormalスタイルを変更します。