Excel で複数のシートに行や列を挿入/削除するサンプル マクロ

概要

この記事には、Microsoft Excel で複数のワークシートの行や列を挿入または削除するために使用できるサンプルの Microsoft Visual Basic for Applications マクロ (Sub プロシージャ) が含まれています。

詳細

Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定の目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 Microsoft のサポート エンジニアが、特定の手順の機能をわかりやすく説明します。 ユーザー固有の要件に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。 複数のシートで行や列を挿入または削除するには、For Each...Next ステートメントを使用して必要なすべてのシートをループ処理するか、挿入または削除を実行する前に行または列を選択します。

注:

次のサンプル マクロは、連続する列または行の範囲でのみ機能します。

ループを使用して複数のシートに行を挿入するサンプル マクロ

Sub Insert_Rows_Loop()
     Dim CurrentSheet As Object

     ' Loop through all selected sheets.
     For Each CurrentSheet In ActiveWindow.SelectedSheets
        ' Insert 5 rows at top of each sheet.
        CurrentSheet.Range("a1:a5").EntireRow.Insert
     Next CurrentSheet
End Sub

列を選択して新しい列を挿入するサンプル マクロ

次のサンプル マクロは、新しい列を挿入する前に列全体を選択します。

Sub Select_Insert_Column()
    Dim MyRange as Object
    ' Store the selected range in a variable.
    Set MyRange = Selection
    ' Select the entire column.
    Selection.EntireColumn.Select
    ' Insert Columns in all selected sheets.
    Selection.Insert
    ' Reselect the previously selected cells.
    MyRange.Select
End Sub