Excel - セルに何が入力されていても、特定の値になるように設定できますか?

Excel - セルに何が入力されていても、特定の値になるように設定できますか?

これは誰かをからかうためのものです...私が望むことができるかどうかはわかりません。私たちはゴルフ トーナメントのプレーヤーを選択するために友人間で Excel ファイルを回覧しています。セル (A1 と呼びます) に何を入力しても、特定の名前 (Joe と呼びます) が表示されるように設定したいと思います。

誰かが名前を入力しようとするまで、A1 は空白のままです。誰かが名前 (任意の名前) を入力すると、Enter キーを押すと自動的に Joe に変更されます。

条件付き書式は、セル A1 の値の外観のみを対象としているため、機能しません。

セル内に何かが表示されるため、数式は機能しません。

自動修正は、まさに私が求めている効果を発揮しますが、コンピュータに保存されており、ファイルと一緒に転送されないため機能しません。

何か案は?

答え1

マクロを使わない代替方法として、セルの値は変更されませんが、セルの表示は変わります。問題のセル上で右クリックし、「セルの書式設定」をクリックします。数値タブで「カスタム」をクリックし、次のカスタム数値書式を入力します。

"Joe";"Joe";"Joe";"Joe"

説明: Excel の数値書式には、セミコロンで区切られた 4 つの部分があります。セルの値によって、数値書式のどの部分が使用されるかが決まり、書式は次のようになります。

[positive];[negative];[zero];[text] 

各セクションはハードコードされた文字列であるため、入力内容に関係なく、「Joe」が表示されます。数式が入力された場合でも (その数式がエラーを返さない限り) 表示されます。通常、数値形式は、負の数値を赤で表示したり、小数点で値を揃えたり、その他の装飾的な目的で使用されます。ただし、友達を困らせるためにも使用できます。

答え2

以下を入力してくださいイベントマクロワークシートのコード領域で:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
   Application.EnableEvents = False
      Range("A1").Value = "Joe"
   Application.EnableEvents = True
End Sub

関連情報