ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: foshan

[分享]在窗体的文本框中实现日期的输入的几种方法

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-23 17:11 | 显示全部楼层
本帖已被收录到知识树中,索引项:窗体

jack.zhou 的作品也是可行的。您在第23楼的作品与我在第15楼的作品思路差不多。不同的地方是您是每个文本框的内容输入后再进行判断;而我是在文本框输入每一个字符就进行判断了,凡是不符合要求均不允许输入,所以我的代码比您的代码多出很多。

再次向大家求助,第20楼的问题如何解决:当年份的文本框小于四位数时,当失去焦点后,出现提示,然后年份的文本框重新获得焦点(也就是光标仍然在年份的文本框中)怎么实现?

TA的精华主题

TA的得分主题

发表于 2005-7-23 19:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

可能和提醒的MsgBox有关(个人猜测),利用Label实现提醒,利用Exit事件控制焦点

J6rdk2b4.zip (13.03 KB, 下载次数: 299)

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-24 08:44 | 显示全部楼层
[quote]以下是引用taller在2005-7-23 19:15:53的发言:

可能和提醒的MsgBox有关(个人猜测),利用Label实现提醒,利用Exit事件控制焦点

如何在窗体的文本框中实现日期的输入?

如何在窗体的文本框中实现日期的输入?

TA的精华主题

TA的得分主题

发表于 2005-7-24 10:43 | 显示全部楼层

在我这里没有问题,请在你的窗体中加入新的标签Label5(设置位提醒内容),然后更改部分代码

Option Explicit Public flag As Boolean Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) Me.Label5.Visible = False flag = False If CInt(TextBox3) < 1980 Then 'MsgBox "年份不能小于1980年!" Me.Label5.Visible = True flag = True End If End Sub Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) If flag Then Cancel = True End Sub Private Sub UserForm_Initialize() flag = False TextBox3 = Year(Now) Me.Label5.Visible = False ' TextBox4.Enabled = False ' TextBox5.Enabled = False End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-24 10:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用taller在2005-7-23 16:24:41的发言: 。 我的帖子上已经说了,那只是个示例--"下面只是示例,正式使用要考虑日期Combo根据选择的月份变"
我在 taller 版主的基础上添加了一些代码,请 taller 版主 看看这样修改后是否可行,谢谢! Zqa2Yp9A.rar (11.29 KB, 下载次数: 228)

TA的精华主题

TA的得分主题

发表于 2005-7-24 10:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

更改月份后,应该首先清除日期Combo下拉列表,然后再重新添加

选择年之前,禁用其它两个COMBO,选择月份前禁止用日期COMBO

[此贴子已经被作者于2005-7-24 10:54:36编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-24 11:06 | 显示全部楼层
以下是引用taller在2005-7-24 10:43:09的发言:

在我这里没有问题,请在你的窗体中加入新的标签Label5(设置位提醒内容),然后更改部分代码

很好,用标签代替msgbox 。谢谢! 9zs4rsMj.rar (13.27 KB, 下载次数: 301)

[此贴子已经被taller于2005-7-24 11:09:58编辑过]

TA的精华主题

TA的得分主题

发表于 2005-7-25 11:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

建议最好用日历控件来实现!如果别的机子中缺少该控件文件 !

可以将该控件文件ocx 随程序文件一起发布!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-25 11:23 | 显示全部楼层
[quote]以下是引用ldhyob在2005-7-25 11:06:56的发言: 按楼主的要求,只利用一个文本框试做了一个.结合Change和KeyPress事件.供参考.

[分享]在窗体的文本框中实现日期的输入的几种方法

[分享]在窗体的文本框中实现日期的输入的几种方法

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-26 15:38 | 显示全部楼层

利用 DTPicker 控件进行时间录入的简例:

tFuO8244.rar (103.95 KB, 下载次数: 674)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 21:43 , Processed in 0.046172 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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