パソコンの小技・備忘録


トップページ > 小技一覧(Excel) > Excelで、Deleteキーを押してもセルのデータを削除できないようにしたい。

Excelで、Deleteキーを押してもセルのデータを削除できないようにしたい。

Excelで、Deleteキーを押してもセルのデータを削除できないようにする方法です。

Excelファイルを業務アプリとして使い場合などに、うっかり必要なデータを消してしまう事故を回避するために使用することができます。

※データの削除を、マウス操作による「数値と値のクリア」など、意図しない限り行えない方法だけに限定する際などに使用します。

ExcelのVisual Basic Editorで、標準モジュールを追加し、そこに下記の記述を行います。

Sub Auto_Open()
  'Deleteキーを押したときに、特定の関数を実行
  Application.OnKey "{DEL}", "PressDelKey"
End Sub

Sub Auto_Close()
  'Deleteキーを押した際の関数実行を中止
  Application.OnKey "{DEL}"
End Sub

Private Sub PressDelKey()

  'セルを指定している時だけ警告を表示
  If UCase$(TypeName(Selection)) = "RANGE" Then

    '念のため、シート名を確認のうえ、実行
    '全シートで無効にする場合は、この場合分けは不要
    If ActiveSheet Is ThisWorkbook.Worksheets("Sheet1") Then
      MsgBox "Deleteキーによる削除は無効です。", _
          vbInformation
    Else
      '対象外のシートの場合は、通常のDeleteキーの動作を実行
      Call Auto_Close
      AppActivate Application.Caption
      SendKeys "{DEL}", True
      Call Auto_Open
    End If
  Else
    '通常のDeleteキーの動作を実行
    Call Auto_Close
    AppActivate Application.Caption
    SendKeys "{DEL}", True
    Call Auto_Open
  End If

End Sub

Auto_Open()は、Excelファイルを開いた際に実行されるメソッドです。
この中で、Deleteキーを押した際に実行する関数を指定し、キー操作を無効にしています。

トップページに戻る

パソコンの小技・備忘録トップページ(http://pckowaza.web.fc2.com/)を表示

※更新履歴などを掲載していますので、お気に入りはぜひトップページでお願いします!

サイト内検索

 Googleでサイト内検索

小技カテゴリー

カウンタ

メール送信

 ご意見・相互リンク募集中!
意見・相互リンクメールを送信!
inserted by FC2 system