Excel VBA:轻松实现状态栏进度条显示实例教程

admin2023-10-26电脑应用浏览:200

视频加载中...

如果希望在执行一段代码(特别是循环)时,由工作表的状态栏显示代码执行进度,可计算代码进行的百分比并将此数据持续赋值给状态栏,依此做数值式进度展示。同时还可以用不断增长的方格或其他简单符号做图示化进度展示(如上方视频展示)。

Step1. 功能实现简述

  • 代码激活方式:我们将代码激活方式确定为单元格点选:当鼠标点击当前sheet页中任意单一单元格时,状态栏进行进度信息显示。
  • 进度显示方式:进度显示分两部分,左侧为数值百分比,右侧为黑色方格;两者均动态增加直到数值百分比达到100%
  • 动态显示原理:使用循环语句将所定义的变量由0增加至100,此变量的值可做百分比的数据,循环次数可做方格数量,每次循环此两个数据均会变化,将此变化的两个值持续输出即可。

Step2. 代码的添加

在当前工作表VBE界面(Alt+F11进入)右侧代码区域按①添加Sleep函数声明→②点选Worksheet→③点选SelectionChange→④添加代码的顺序操作

代码先进行点击区域单元格数量判断,若只点击了一个单元格,则进行进度显示(区域选择浪费时间且视觉效果差)。

核心代码使用for循环不断增加百分比数值i及字符串barStr的长度,每次循环后将此两个值直接赋给状态栏使其显示。

Application.StatusBar代表当前开启的Excel程序的下方状态栏,状态栏类似文本框,可以接收普通的文本或数值型变量,整型i及字符串型barStr可被正常显示。

Sleep 10表示程序“暂停”10毫秒,用以增强视觉效果,数值越大,进度百分比及进度条增长越慢。此函数为Window API函数,故代码区头部需先声明才可使用。

注:代码中的方格"■"可更换为其他符号(比如“>”、“o”等)以呈现不同效果

Step3.代码执行

返回前台sheet界面,随机点击任意单元格即可实现进度模拟。

3-1. “方格”进度条

3-2. “大于”号进度条

热门文章