打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA【小技巧】文本框控件再次打开时自动录入关闭前的值/Public 定义变量
快速浏览
往期合集:【2023年3月】【2023年4月】【2023年5月】【2023年6月】【2023年7月】【2023年8月】【2023年9月】【2023年10月
实用案例
|日期控件||简单的收发存||收费管理系(Access改进版)|
|电子发票管理助手||电子发票登记系统(Access版)|
|文件合并||表格拆分||审计凭证抽查底稿|
|中医诊所收费系统(Excel版)||中医诊所收费系统(Access版)||银行对账单自动勾对|
收费使用项目
|财务管理系统||工资薪金和年终奖个税筹划|
内容提要
Public 变量
大家好,我是冷水泡茶,今天在网上看到一个提问:
控件打开时怎么自动录入上次关闭前的值?
比如文本框输入66,关闭文本控件,再打开时会自动录入66,但不要将文本框的值储存在工作表里单元格里或其他文件里,就储存在变量里,能做到?
我记得static声明的变量,过程结束后可以储存在内存里的啊,我试了又试就是不行?
这个问题好解决,就是公共变量的问题,变量按作用域大概可以分为三类:
一、过程变量:定义在过程内部,只对本过程有效,如果在其他过程定义了相同名称的变量,那它们是不同的,就好比两个同名的人。
二、模块级公共变量:定义在模块外面,必须放在模块的最顶端。定义语句为Dim,只能在本模块内部各过程进行操作、引用。
三、工程级公共变量:定义在模块外面,必须放在模块的最顶端。定义语句为Public。可以在所有的过程中操作、引用。
这些应该不难理解吧,就好比你是一个公司的总经理,你可以管整个公司的大小事务,你是一个部门经理,你一般就只能管本部门的人和事,再如果你是一个小组长,那么你就只能管本小组的事务。
我们回到问题上来:
1、要想在窗体关闭之后,其中的文本框最后输入的值能保存下来,我们可以在模块1里定义一个Public变量preValue。
变量类型可以不指定,或者指定为Variant,或者如果你明确知道存储的变量类型,或者要把它作为参数传递给其他过程、函数的,那就应该指定变量类型。
2、我们在启动窗体后,把preValue的值赋给文本框:
UserForm1.ShowWith UserForm1 .TextBox1 = preValueEnd With3、在窗体中的文本框输入内容,我们一般会有后续操作,比如把文本框的内容存到什么地方,我们就同时把文本框的值存到preValue中。我们在“确定”按钮中加入保存文本框的值到preVale的代码:
Private Sub CmdConfirm_Click() preValue = Me.TextBox1 Unload MeEnd Sub当然,在“确定”按钮中应该有其他代码,我们这里仅为演示之用,只有两行代码。
4、我们首次打开窗体时,这时preValue的值应该为空,我们可以看到文本框的值也是空的。当我们再次打开窗体时,文本框就显示上次输入的值了。
5、设置完成后,效果如下:
最后,还有一种情况:如果想在文件首次打开时,仍需要读取上次保存的值,用这种方法就不灵了。如果有这样的需求,最简单的方法是存到工作表里并保存文件,下次打开工作簿时可直接读取。有人建议存到注册表里,也是一法。但一般不建议这样做,除非是非常重要的,不希望用户看到的信息,比如注册信息,应用程序剩余使用次数,应用程序到期日等。好,今天就到这,我们下期再会。~~~~~~End~~~~~~
安利小店
安利的牙膏非常不错,用了以后就不想再用其他的了;洗洁精、洗衣液也是日常必备,用过都说好!
合谷医疗
合谷医疗专攻各种疑难杂症,尤其擅长腰颈椎疾病、儿童神经发育异常、多动症、自闭孤独症治疗,可谓神乎其技!体验过的直呼早点来就好了!
喜欢就点个赞、点在看、留言评论、分享一下呗!感谢支持!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel实战技巧6:在用户窗体中输入/显示工作表数据
请注意:多个控件必须统一响应!VBA代码中类模块大显身手
高一年级信息科技2020空中课堂知识点梳理及“思考与讨论”-第04课:程序设计基本知识
学习C#常见错误__窗体间传值解决方法
编程入门网-VB编程的七个优良习惯
VB-对象使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服