パソコンの小技・備忘録


トップページ > 小技一覧(Excel) > Excelで、Spaceキー(半角の場合)を押してもセルのデータを変更できないようにしたい。

Excelで、Spaceキー(半角の場合)を押してもセルのデータを変更できないようにしたい。

Excelで、Spaceキー(半角の場合)を押してもセルのデータを変更できないようにする方法です。

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

※下記の記述をしても、日本語入力が全角になっていると、入力できてしまいますので、ご注意ください。

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

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

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

Private Sub PressSpaceKey()

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

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

End Sub

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

トップページに戻る

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

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

サイト内検索

 Googleでサイト内検索

小技カテゴリー

カウンタ

メール送信

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