[Excel VBA] 列・行の挿入・追加を出来なくする

VBAプログラミング

Sheetモジュールに下記のコードを貼り付ければ行、列ともに削除・追加できなくなります。

Option Explicit

'セル変更時の処理
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Columns.Count = Me.Columns.Count And _
        Target.CountLarge Mod Me.Columns.Count = 0 And _
        Target.Row = Selection.Row Then

        Application.EnableEvents = False
        Application.Undo
        Application.EnableEvents = True
        MsgBox ("行の削除・追加不可です。")
        Exit Sub
    
    End If

    If Target.Rows.Count = Me.Rows.Count And _
        Target.CountLarge Mod Me.Rows.Count = 0 And _
        Target.Column = Selection.Column Then

        Application.EnableEvents = False
        Application.Undo
        Application.EnableEvents = True
        MsgBox ("列の削除・追加不可です。")
        Exit Sub
    
    End If

End Sub

下記のサイトを参考にさせて頂きました!

コメント

タイトルとURLをコピーしました