Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7628|回复: 23

[已解决]请教,判断文本框是否为数字的方法。

[复制链接]
发表于 2012-12-29 16:34 | 显示全部楼层 |阅读模式
能不能用以下的方法判断数字,会不会造成意想不到的错误?
If TextBox_age < 18 Or TextBox_age > 65 Then
..........
end if

我不想用isnumeric()函数。这样有没有问题?
最佳答案
2012-12-30 09:40
(, 下载次数: 1)
发表于 2012-12-29 16:46 | 显示全部楼层
本帖最后由 hoogle 于 2012-12-29 17:00 编辑

用这个事件LostFocus会好点。
用你的方法判断数字没有问题。
回复

使用道具 举报

发表于 2012-12-29 16:55 | 显示全部楼层
可以考虑使用Val函数把文本框内的输入内容转换为数再进行判断。如果输入的内容是文本,返回的值是0
回复

使用道具 举报

 楼主| 发表于 2012-12-29 17:11 | 显示全部楼层
hoogle 发表于 2012-12-29 16:46
用这个事件LostFocus会好点。
用你的方法判断数字没有问题。

谢谢。lostfocus事件确实更好。

但是还有问题,无论是word还是excel,插入在页面中的文本框,都没有setfocus方法和tabindex参数,只有窗体中的文本框才有。这是为什么?有没有办法泥补?

评分

参与人数 1 +3 收起 理由
hoogle + 3 我去找大神来回答你的问题,我懵了!

查看全部评分

回复

使用道具 举报

发表于 2012-12-29 17:17 | 显示全部楼层
用change呢。
回复

使用道具 举报

发表于 2012-12-29 17:18 | 显示全部楼层
Change事件也可以啊。
回复

使用道具 举报

 楼主| 发表于 2012-12-29 17:27 | 显示全部楼层
hwc2ycy 发表于 2012-12-29 17:18
Change事件也可以啊。


由于事件的原理不同,我觉得用change反应太快,用lostfocus反应却有点慢。
回复

使用道具 举报

发表于 2012-12-29 17:31 | 显示全部楼层
silenthunter 发表于 2012-12-29 17:27
由于事件的原理不同,我觉得用change反应太快,用lostfocus反应却有点慢。

可以使用键盘按下事件,来判断 keycode 是不是数字的

需要注意的是 数字键盘有两个代码,一个是小键盘,一个是字母上的,还有一个要注意 允许 小数点!!

回复

使用道具 举报

发表于 2012-12-29 18:47 | 显示全部楼层
这个不存在反应慢,你想想,你就输入几个字符,计算机每秒钟运算这么多次。
岂人忧天了。
回复

使用道具 举报

 楼主| 发表于 2012-12-29 20:38 | 显示全部楼层
hwc2ycy 发表于 2012-12-29 18:47
这个不存在反应慢,你想想,你就输入几个字符,计算机每秒钟运算这么多次。
岂人忧天了。

要焦点离开才能反应,所以反应慢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 18:26 , Processed in 0.723186 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表