我们学习了在Excel的状态栏展示进度,不过我们使用文字的方式来展示的
有很多的小伙伴纷纷表示,文字不太好看,也不直观,最好是能够换成进度条的样式安排,虽然不可能做的那么完美,但是效果还是可以实现的。
上代码
Function ztl(a, b)
Dim j As Integer, s As String
k = b / 20
j = a / k
For m = 1 To j
s = s & "■"
Next m
ztl = s & FormatNumber(a / b * 100, 2) & "%"
End Function
Sub dss()
Application.DisplayStatusBar = True
Application.StatusBar = "程序开始执行~~"
For i = 1 To 100
Cells(i, 1) = "test"
Application.StatusBar = ztl(i, 100)
Next i
Application.StatusBar = "程序结束~~"
Application.StatusBar = False
End Sub
好,开工
怎么样,是不是很完美呢
这样的功能,大家喜欢嘛?
代码解析
其实的代码是比较的简单的,不过今天我们用了一个之前没有和大家分享过的方法
那就是自定义方法!
什么是自定义方法?
在VBA代码运行的过程中,有一些固定的操作,比方说复制粘贴等,这些固定的操作,如果每一次都在代码中写一次的话
那么代码量就会非常的大,维护也不好维护,所以这个时候,我们就可以借助这个自定义方法
怎么自定义方法呢?
Function
*****
end function
这就是自定义方法的格式了,我们写程序用的是sub模块,而方法的话,就尅理解为是function模块。
那么写好了方法,如何调用呢?
之前我们学习过调用另外一个sub程序是call
那么这个自定义方法也是用call?
不是,直接调用即可
这里为什么是ztl?因为你function定义的方法的名字,就是ztl
这两个方法的名字要一致
后面的括号内的,我们可以理解为是参数,并不是绝对的,可以也可以不好。如果需要参数,那就加上参数
如果不需要,那就可以却去掉的。
联系客服