如果你总是有相同数量的潜在呼叫(即14确定)。你可以做
Sub batch_import()
with Application
Call Import_NJ
.StatusBar = "Progress: " & Format(1/14, "0%")
Call Import_NY
.StatusBar = "Progress: " & Format(2/14, "0%")
Call Import_MD
.StatusBar = "Progress: " & Format(3/14, "0%")
Call Import_VA
.StatusBar = "Progress: " & Format(4/14, "0%")
Call Import_WV
.StatusBar = "Progress: " & Format(5/14, "0%")
Call Import_PA
.StatusBar = "Progress: " & Format(6/14, "0%")
Call Import_KY
.StatusBar = "Progress: " & Format(7/14, "0%")
Call Import_TN
.StatusBar = "Progress: " & Format(8/14, "0%")
Call Import_IN
.StatusBar = "Progress: " & Format(9/14, "0%")
Call Import_IA
.StatusBar = "Progress: " & Format(10/14, "0%")
Call Import_MI
.StatusBar = "Progress: " & Format(11/14, "0%")
Call Import_MO
.StatusBar = "Progress: " & Format(12/14, "0%")
Call Import_IL
.StatusBar = "Progress: " & Format(13/14, "0%")
Call Import_LW
.StatusBar = "Progress: " & Format(14/14, "0%")
.StatusBar =null
end with
End Sub
你是否想要进度条在Import_ * sub或者每次调用之间更新? –
你有14个电话,每次通话后你可以增加一个变量1/14,如:'x = x + 1/14'。最后达到1.你可以显示'x',但是你想要的。 (你可以简单地使用debug.print,或者如果你需要enduser的东西,你可以在用户表单中使用一个栏) – Tehscript
也许有点先进的VBA的东西(涉及类,模块属性,默认实例和工厂方法),但一个*实际*可重用,灵活,可取消和好看的进度指标形式在VBA中完全可行;请参阅[这里](https://codereview.stackexchange.com/q/87818/23788)。 –