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”都会显示,即使输入了公式(除非该公式返回错误)。通常数字格式用于以红色显示负数,或对齐小数点处的值,或其他装饰性的东西。但它们也可以用来惹你的朋友。
将以下事件宏放在工作表代码区域中:
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)