|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
原帖由 gufengaoyue 于 2010-12-13 15:53 发表
840962
最简单的,做个函数
Public Function num(ByVal x As Range)
num = Format(x, "0.00") '把这单元格格式化了
End Function
在E3输入 : =num(A3)+0
下拉全部搞定!
这个vba自定义函数方法也很不错!
我还以为要用for循环遍历每个字符看是否数字呢……
没想到format()函数这样给力!
不过,既然已经用到vba了,
那么索性这样
Public Function TNum(ByVal x As Range)
TNum = Format(x, "0." & String(Len(x), "0"))
End Function
这个改进,对于小数点后的位数就可以智能判断啦,
否则37楼【gufengaoyue】的函数格式是"0.00",
那就只对小数点两位以内的起作用,超过就被cut啦。
Public Function VNum(ByVal x As Range)
VNum = Val(Format(x, "0." & String(Len(x), "0")))
End Function
这个改进是针对+0处理的,用了Val函数就把文本数字直接转换为数字格式啦。
但是,由于实际上一般单元格都能对文本字符也做自动运算,
所以是否需要这样做应该由使用者,即楼主来判断啦。
谢谢37楼【gufengaoyue】 |
|