当前位置:蜗牛素材网>综合资讯>图文>正文

窗体如何建立菜单?在窗体中制作进度显示条

人气:176 ℃/2024-04-15 15:30:45

【分享成果,随喜正能量】不忘使命,成就大义。使命是放下喜怒哀乐转身奔赴战场、是明知山有虎偏向虎山行的担当;使命是烈日炎炎之下汗湿全身的坚忍,是哪怕即将倒下,也不忘释放所有的力量。

《VBA之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第十七章 “用户窗体(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

【分享成果,随喜正能量】人穷不评理,没钱莫入众;位卑不劝人,力微莫负重,落难莫寻亲。

搜索更多有关“窗体如何建立菜单?在窗体中制作进度显示条”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版