当前位置: 代码迷 >> VBA >> excel中小数点后的位数动态解决方案
  详细解决方案

excel中小数点后的位数动态解决方案

热度:5565   发布时间:2013-02-26 00:00:00.0
excel中小数点后的位数动态
我想设置excel下一列的小数点后的小数位数的范围为4位到9位,有什么办法没?

------解决方案--------------------------------------------------------
这。。。。。。。。。。
------解决方案--------------------------------------------------------
下一列?

在change事件里判断吧。
------解决方案--------------------------------------------------------
应该有办法的,你是在什么情况下设置多少位,需要这些条件,来形成判断。
可以拿一列单元格来存放一个公式,这个公式就是判断要保留多少位,另一列单元格则保存结果,这个结果列也应该使用公式,比如:
=Round(结果值, 引用保存位数的单元格)
当然,也可将两列的公式合并为一个公式,这取决于个人习惯。
------解决方案--------------------------------------------------------
不是没人会VBA,是觉得就这个需求用VBA未免浪费。如果可以用公式的话可以在辅助列里写入=IF(AND(LEN(RIGHT(F1,LEN(F1)-FIND(".",F1)))>=4,LEN(RIGHT(F1,LEN(F1)-FIND(".",F1)))<=9,F1>=109,F1<=200),TRUE,FALSE).

如果非要用VBA,那么上述公式就是思路。就说这么多了。
------解决方案--------------------------------------------------------
引用:
楼上的说的没错,但输错了,怎么给出提示呢?


如果想简单处理的话,设置输入单元格的条件格式,选择自定义,在公式里输入"=公式单元格"。设置警告提示信息即可。

VBA的话,在worksheet_change()事件中加入对单元格判断的代码即可。
  相关解决方案