エクセルマクロで、行削除を禁止するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
行削除を禁止する
以下のマクロを実行すると、行の削除を出来なくします。
Dim myRow As Long
Dim TargetRow As Long
Dim Cnt 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)
If Cnt = 1 Then
MsgBox "行削除は禁止です"
End
Else
Cnt = 0
End If
'変更後の最終行を取得
myRow = Cells(Rows.Count, 1).End(xlUp).Row
If myRow < TargetRow Then
Cnt = Cnt + 1
Application.Undo
End If
End Sub
行を削除しようとした時
4行目を選択して、右クリックメニューから「削除」を選択します。
メッセージボックスが表示され、行の削除ができない状態となります。
「Sheet1」シート内でイベントを発生させるためには、
VBE画面にて「Sheet1」シートにマクロコードを記述します。
この記事がお役に立ちますと幸いです。
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク