键入后可以在单元格中自动添加文本吗?

键入后可以在单元格中自动添加文本吗?

让我们把这件事说清楚。

我正在打字,离开单元格后,应该有一个文本添加到我输入的内容的开头。

这可能吗?如果可以,那怎么办?

我知道这个CONCATENATE功能,但这不是我的赌注,因为删除单元格上的数据也会删除该功能。

答案1

Excel 本身并不支持此功能。

通常通过创建两个单元格来完成。一个是输入文本的单元格,另一个是显示结果的单元格。

例如:

单元格 A1 包含结果,单元格 B1 包含输入。单元格 A1 将在单元格 B1 中输入的任何内容前面添加文本“答案:”,但前提是单元格 B1 包含文本。单元格 A1 中的公式为:

=IF(B1="";"";CONCATENATE("Answer: ";B1))

如果您确实只想使用一个单元格,则需要使用 VBA 宏在单元格更改后添加。请注意,如果您采用这种方式,您还将考虑到如果用户再次编辑单元格,则添加的文本现在也位于单元格中,并且在提交时会再次添加。因此,宏必须查看文本是否一开始就在那里,并跳过第二次添加。

通常,在该单元格附近创建一个小按钮以弹出一个输入字段并根据该输入计算结果会更容易。

话虽如此,VBA 脚本非常先进,除非您实际上可以提供自己的代码,否则在 SuperUser 上被视为离题。

答案2

选择所有受影响的单元格,然后从上下文菜单中选择“格式化单元格”。在“数字”选项卡中选择“用户定义”,然后"My Text "@在定义字段中输入“ ”。

如果您想输入数字,则必须将 @ 替换为您想要使用的数字格式。(例如:' "My Text "0' 表示四舍五入的整数。)

您还可以组合两种格式:' "My Text "0;;;"My Text "@'

答案3

我不太确定这是否能回答你的问题,但我只是使用 Excel 中的自定义格式。例如,我想#001234在单元格上查看,而不必#00在每个单元格中输入。所以我只需转到

数字选项卡 > 自定义格式 > 创建自定义格式

就我的情况而言,我刚刚创建了"#00"0引号内的文本,定义了我在每个单元格中输入后自动添加的内容。

相关内容