排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
在窗体中制作进度显示条
在窗体中制作进度显示条
VBA语言専攻
2022-02-19
164
【分享成果,随喜正能量】不忘使命,成就大义。使命是放下喜怒哀乐转身奔赴战场、是明知山有虎偏向虎山行的担当;使命是烈日炎炎之下汗湿全身的坚忍,是哪怕即将倒下,也不忘释放所有的力量。
《V
BA
之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用E
XCEL
工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“
VBA
之E
XCEL
应用”的第十七章 “用户窗体(Userform)的实例应用”:在窗体中制作进度显示条
第八节 在窗体中制作进度显示条(一)
我们这节的内容是在窗体中制作进度显示条,这节的内容是灵活应用标签控件的典型实例,在这个实例中,我们将看到把标签控件(Label)及框架控件(
Frame
)组合作为一个进度条的应用。这类应用需要灵活应用控件属性,可以给自己的程序带来清新的感觉。
1
窗体中显示进度条的应用场景分析
我们要在工作表中填充一系列的值,这项工作需要一定的时间,我们要让用户感受到时间的流逝,感受到进度的变化,最为直接的思路就是制作一个进度条提示给用户某时某刻程序执行进度到了什么程序,百分比是多少。这讲中我将利用一个文本框来显示工作表中填充数值的进度,利用进度条来实现提示用户程序整体进展的程度。
工作表中的第一列中我们假设要按行填入1到1000累加行号的值,要循环到第100行,这个工作耗时是有一定时间的,可以满足我们的测试。最终的填充效果如下表,只是每个单元格最后的值:
在填充过程中,每个单元格是随时在变化的,上面的截图只是最后变化的值,这个填充过程用代码实现是非常容易的,用一个两重循环就可以完美地解决。我们要实现用进度条来显示上面程序工作的进度。
2
实现进度条显示程序进度的思路分析
1)为了用进度条来显示上述的进度,我们要评估一下进度百分比实现的规则,由于实现的是从1到100行的测试,每个单元格实现行号与1到1000值的累加,我们不妨以行数作为百分比进度的基准,填充到多少行就是进度的百分数。
2)那么如何用进度条来展示这个进度呢?我们可以用一个标签控件和一个框架控件组合来实现,用标签控件的宽度属性作为进度百分比的提示,框架总体的宽度作为完成的标志。
3)为了显示每个百分比值时单元格的变化,我们可以建立一个文本框,这个文本框中填入的数值就是当前单元格的值,但要注意这个文本框是不可让用户更改的,这一点要特别注意,这里会利用到文本框的Enabled属性,这个属性是控制控件是否响应用户响应的。
4)整个工程关键节点的思路建立后,我们来整合一下总体的思路,我们可以在窗体的激活事件中让工作表开始进行数值的填充,填充完一个单元格,然后调用一个自定义函数,这个自定义函数将完成进度条的修改及文本框值的更新。
5)自定义函数中我们要根据框架的宽度计算出标签宽度的值显示在窗体中,同时要利用自定义函数的参数来完成文本框值的填充。
6)最为关键一点,自定义函数完成自己的任务后要把程序的控件权返回给主程序,让主程序往下运行。这里会利用到 DoEvents语句,这个语句可以实现这一点。
3
窗体中各个控件的搭建
有了上面的思路,我们来完成窗体的搭建工作,对于VBA利用窗体而言,窗体中控件的搭建是一项十分重要的工作,这会关系到用户的使用效果,某个控件的位置会关系到用户的录入顺序,所以建议大家在做这项工作的时候,要多以用户为核心来考虑控件的布局。
这讲的内容我们用到的控件有:三个标签,一个文本框,一个框架,各自的作用有所不同:如下截图:
这样的布局非常的简单,明了,读者在自己实践的时候,
要首先把各个控件按照上图大概的位置先摆放好,然后再微调,进而进行属性的设置,最后再检查界面效果,不合适的再次微调,一定要按上面的步骤进行,才能很好地完成窗体的搭建工作。
今日内容回向:
1) 实现在窗体上显示进度条的思路是怎样?
2) 如何完成在窗体上搭建控件?
3) 如何让函数过程交回程序的控制权?
本讲内容参考程序文件:工作簿17.xlsm
【分享成果,随喜正能量】人穷不评理,没钱莫入众;位卑不劝人,力微莫负重,落难莫寻亲。
窗体
文本框
单元格
文章转载自
VBA语言専攻
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨