excel如何实现对于自有单元格的自动更正?比如输入是负数,就出来本单元格出来绝对值或归零?

如题所述

1.这个用自动更正非常简单。

工具-自动更正选项-
替换1为张三,添加
替换2为李四,添加
替换3为王五,添加
.....

然后在单元格里面只输入1.回车后这个单元格自动变成了"张三"。(输入21是不会变成"李四张三"的)
用完最好删除,否则会影响正常的数据输入。
或者使用001这样的字符串来表示会好一点。因为正常的数字是不会保留前面的0的。

2.另外如果数据量大。可以使用宏来添加自动更正和删除自动更正。

Alt+F11,进入编辑界面。菜单插入-模块,将下面的代码复制到光标处。
*******************
Sub 添加自动更正()
With Application.AutoCorrect
.AddReplacement "1", "张1"
.AddReplacement "2", "张2"
.AddReplacement "3", "张3"
.AddReplacement "4", "张4"
.AddReplacement "5", "张5"
.AddReplacement "6", "张6"
End With
End Sub
Sub 删除自动更正()
With Application.AutoCorrect
.DeleteReplacement "1"
.DeleteReplacement "2"
.DeleteReplacement "3"
.DeleteReplacement "4"
.DeleteReplacement "5"
.DeleteReplacement "6"
End With
End Sub

******************
回到Excel,Alt+F8选择"添加自动更正",运行。

然后在单元格分别输入1,2,3,4,5,6就会变成后面相应的名字。结构挺简单,可以自己多放一些。

输入完后,Alt+F8,运行"删除自动更正"就行了。

3.其实这个问题,如果不是非要输入后就自动替换了,还是用Vlookup公式最好了。还能保留编码名字对照表。

简历一个"信息"工作表A:B列内容
1 张1
2 张2
3 张3
4 张4
5 张5
6 张6

然后在你要输入的工作表单元格后面,例如在A列输入序号,B1输入公式
=if(countif('信息'!A:A,A1),Vlookup(A1,'信息'!A:B,2,0),"")

向下填充公式就行了。
温馨提示:答案为网友推荐,仅供参考