【エクセルマクロ】行挿入・行削除を検知:イベントプロシージャ

エクセルマクロ_行挿入行削除イベント-アイキャッチ エクセルマクロで効率化する

エクセルマクロで、行挿入・行削除を検知するVBAコードをご紹介します。

[Worksheet_Change][Worksheet_Selection] を使用します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

行挿入・行削除を検知

以下のマクロを実行すると、行を挿入した後、行を削除した後に、イベントが発生します。


Dim myRow As Long
Dim TargetRow As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    '変更前の最終行を取得
    TargetRow = Cells(Rows.Count, 1).End(xlUp).Row

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

    '変更後の最終行を取得
    myRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    If myRow > TargetRow Then
        MsgBox "行を挿入しました"
    ElseIf myRow < TargetRow Then
        MsgBox "行を削除しました"
    End If

End Sub

 

行を挿入したとき

行追加を検知して、「行を挿入しました」というメッセージボックスを表示します。


 

行を削除したとき

行削除を検知して、「行を削除しました」というメッセージボックスを表示します。

 

マクロコードを記述する場所は?

「Sheet1」シート内で行挿入・行削除をした際にイベントを発生させるためには、

VBE画面にて「Sheet1」シートにマクロコードを記述します。


 

※判定方法は最終行の増減をチェックし、

 増えていれば「行追加」、減っていれば「行削除」の判定をしています。

 簡易的なチェックに役立ちますと幸いです。
 

【エクセルマクロ】ダブルクリックで処理を実行:超便利18選
...

 

「ノンプログラマーのGAFA部長が教えるExcelマクロ入門」
挫折につながるエラーの原因も先回りして丁寧に解説
マクロのたった1割を学べばエクセル業務の9割以上は効率化できる