■ 最新の投稿

Excel VBA技:特定の文字列をタイプした瞬間に“秘密メッセージ”を出す方法

Excel を使っていると、
「特定の文字を入力したときだけ動く仕組み」
を作りたい場面があります。

たとえば:

・ “test” とタイプした瞬間にチェック処理を走らせる
・ “ok” と入力したらメッセージを出す
・ “secret” と打つと隠しメニューが開く

こうしたニーズは Worksheet_Change イベント を使うと簡単に実現できます。

■ 今回作る仕組み

指定したシートで“secret”とタイプしたら、メッセージボックスを表示する

以下を 対象シートのコード(Sheet1 など)に貼る だけ。

Public Buffer As String

Private Sub Worksheet_Change(ByVal Target As Range)
    ' セルが複数変更された場合は無視
    If Target.CountLarge > 1 Then Exit Sub
    
    ' 入力された文字列を追加
    Buffer = Buffer & CStr(Target.Value)
    
    ' 直近5文字だけ残す(secret = 6文字の場合は6にする)
    If Len(Buffer) > 6 Then
        Buffer = Right(Buffer, 6)
    End If
    
    ' 特定ワードになったら発動
    If Buffer = "secret" Then
        MsgBox "秘密コマンド発動!"
        Buffer = ""
    End If
End Sub

■ 注意点

  • 複数セルを一括ペーストした場合はスキップされる(CountLarge 判定により)
  • このコードは 対象シートに貼る必要あり(標準モジュールでは動かない)
  • セルへの入力がトリガーなので、確認ダイアログで止めたい場合は MsgBox が適切

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です