web-dev-qa-db-ja.com

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

これは誰かに冗談を言うことです...私がやりたいことができるかどうかわかりません。私たちは友人の間でExcelファイルを回して、ゴルフトーナメントの選手を選択しています。セルに入力(A1と呼びます)を設定して、特定の名前(Joeと呼びます)を表示します。

誰かが名前を入力しようとするまで、A1は空白でなければなりません。誰かが名前-任意の名前-を入力すると、Enterキーを押すと自動的にJoeに変わります。

条件付き書式は、セルA1の値の外観のみに対応しているように見えるため機能しません。

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

自動修正-私が探している正確な効果はありますが、コンピューターに保存されているb/cは機能せず、ファイルと一緒に転送されません。

何か案は?

61
Adam

マクロなしの代替として、これはセルの値を変更しませんが、セルの表示を変更します。問題のセルを右クリックして、[セルの書式設定]をクリックします。数値タブで[カスタム]をクリックし、次のカスタム数値形式を入力します

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

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

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

各セクションはハードコードされた文字列であるため、数式が入力されても、その数式がエラーを返さない限り、「Joe」は入力内容に関係なく表示されます。通常、数値形式は負の数値を赤で表示したり、値を小数に揃えたり、その他の表面的なものに使用されます。しかし、それらはまたあなたの友人を台無しにするために使用することができます。

109
Kyle

次のイベントマクロをワークシートのコード領域に配置します。

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
9
Gary's Student