Excel - 无论输入什么,我都可以将单元格设置为等于某个值吗?

Ada*_*dam 61 microsoft-excel-2007 worksheet-function microsoft-excel microsoft-excel-2010

这是对某人开个玩笑……不确定是否可以做我想做的事。我们正在朋友之间传播一个 Excel 文件,以选择参加高尔夫锦标赛的球员。我想设置一个单元格(称为 A1)以显示某个名称(称为 Joe),无论有人输入什么。

A1 应该是空白的,直到有人尝试在其中键入名称。当有人输入一个名字 - 任何名字 - 在他们按下回车键后它会自动更改为 Joe。

条件格式不起作用,因为它似乎只解决单元格 A1 中值的外观。

公式不起作用,因为他们会在单元格中看到一些东西。

自动更正 - 虽然它会产生我正在寻找的确切效果 - 不适用于存储在我的计算机上并且不会随文件传输的 b/c。

有任何想法吗?

Kyl*_*yle 109

作为无宏的替代方案,这不会更改单元格的值,但会更改单元格的显示。右键单击有问题的单元格,然后单击“设置单元格格式”。在数字选项卡中,单击自定义,然后输入以下自定义数字格式

"Joe";"Joe";"Joe";"Joe"
Run Code Online (Sandbox Code Playgroud)

说明:Excel 数字格式有四部分,用分号分隔。单元格的值决定了使用数字格式的哪一部分,格式如下:

[positive];[negative];[zero];[text] 
Run Code Online (Sandbox Code Playgroud)

由于每个部分都是硬编码的字符串,因此无论输入什么,“Joe”都会显示,即使输入了公式(除非该公式返回错误)。通常数字格式用于以红色显示负数,或对齐小数点处的值,或其他装饰性的东西。但它们也可以用来惹你的朋友。

  • 要真正让别人认为他们的Excel工作表闹鬼,尝试[Ž̙̐a̴̺̯̝̜̦̣͆͟l̞̬̖̬͎̦͚ͭ̄̿̇ͨ̈̕͢g̶̼̺͓͉̫͍͕̭ͤ̈͑͝o͚̭̬̹ͮͨ̅̌͌ͤ̇文本(http://stackoverflow.com/questions/6579844/how-does-zalgo-text-work),例如'“乔”,“乔” ;"J̼̼̝̟͇̺͖̹̄̋͌̽oe";"J̼̼̝̟͇̺͖̹̄̋͌̽oe"`(似乎只能使用一个字母) (22认同)
  • 这是史诗和热闹。现在我只需要找到一个目标...... (12认同)
  • 这绝对是崇高的。现在我想发明一些东西只是为了找个借口对某人做这件事:) (3认同)

Gar*_*ent 9

将以下事件宏放在工作表代码区域中:

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
Run Code Online (Sandbox Code Playgroud)

  • 除非用户启用宏,否则默认情况下不会禁用宏。如果是共享的? (9认同)