以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 字符拦截 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76855) |
-- 作者:hbhb -- 发布时间:2015/11/6 11:29:00 -- 字符拦截 大师:上次请教的自动合计代码,输入数字时能够自动计算。但是一输入不是数字的字符就出错。通过下面的代码为何不能拦截非数字字符?也显示出错信息对话框? Dim d As Double If Double.TryParse(e.text.replace(",",""), d) Then 代码。。。。 end if |
-- 作者:大红袍 -- 发布时间:2015/11/6 11:31:00 -- 肯定可以拦截。例子说明。 |
-- 作者:hbhb -- 发布时间:2015/11/6 11:31:00 -- Dim d1 As Double If Double.TryParse(val(str(r(Vars("fzToTal")(i))).replace(",","")),d1) Then sum(i) += val(d1) End If |
-- 作者:大红袍 -- 发布时间:2015/11/6 11:35:00 -- Dim d1 As Double If Double.TryParse(r(Vars("fzToTal")(i)).replace(",",""),d1) Then
sum(i) += val(d1)
End If
|
-- 作者:hbhb -- 发布时间:2015/11/6 11:49:00 -- 谢谢!这样不出错了,但一清空,也就是说删除单元格字符,有出错了? |
-- 作者:大红袍 -- 发布时间:2015/11/6 12:03:00 -- 报什么错?
|
-- 作者:hbhb -- 发布时间:2015/11/6 12:07:00 -- 多谢了,好了! 这样写与您的写法是否一样?
If r.IsNull(Vars("fzToTal")(i)) = False Then If Double.TryParse(r(Vars("fzToTal")(i)).replace(",",""),d1) Then sum(i) += val(d1) End If End If |
-- 作者:大红袍 -- 发布时间:2015/11/6 12:09:00 -- 差不多。 |
-- 作者:hbhb -- 发布时间:2015/11/6 12:10:00 -- 您就是救世主,狐民的大救星! |
-- 作者:hbhb -- 发布时间:2015/11/6 13:00:00 -- 能否再加点味精,就是说如果输入的是5%,也能自动合计,合计行也显示百分比才好呢! 5%自动转换为数字用什么函数?
|