我遇到了一些运行不同功能的vba代码的问题。我建立了一个用户表单,可以使用户随时了解进度。这不是进度条。它只是在更改标签文本。但是,当我运行它时,没有任何变化。在退出用户窗体之前,代码不会完成。有谁知道如何解决这一问题?该代码在下面列出。谢谢!
frmALL.Show
xUpload ("DEV")
frmALL.devProgress.Caption = "Complete!"
frmALL.devProgress.ForeColor = vbGreen
frmALL.qaProgress.Caption = "Uploading"
xUpload ("QA")
frmALL.qaProgress.Caption = "Complete!"
frmALL.qaProgress.ForeColor = vbGreen
frmALL.prodProgress.Caption = "Uploading"
xUpload ("PROD")
frmALL.prodProgress.Caption = "Complete!"
frmALL.prodProgress.ForeColor = vbGreen
frmALL.Header.Caption = "Success!"
devProgress,prodProgress和qaProgress在用户窗体中都是相关的标签。当我设置showModal = false形式时,它只是显示为白色屏幕,直到完成代码后才显示所有“成功”。这是一个问题,因为它没有像我想的那样显示进度。我的代码运行速度是否太快?预先感谢!
答案 0 :(得分:0)
将根据您的代码尝试给出_Change()
用法的快速示例:
Sub Open_UserForm()
'make sure you have a userform_initialize subroutine for base info
frmALL.Show vbModeless
End Sub
在您的用户表单代码中,您可能会:
Private Sub ComboBox1_Change()
'ASSUMES DEVPROGRESS IS TRIGGERED BY COMBOBOX1 VALUE CHANGE
xUpload ("DEV")
frmALL.devProgress.Caption = "Complete!"
frmALL.devProgress.ForeColor = vbGreen
frmALL.qaProgress.Caption = "Uploading"
End Sub
示例图片...例如我的背景图片
Private Sub UserForm_Initialize()
ComboBox1.List = Array("cat", "dog")
End Sub
Private Sub combobox1_change()
Label1.Caption = "label 1 = updated"
End Sub
从一开始的用户表单(从IDE按F5键启动):
我在组合框1中选择内容:
组合框1的值已更改,标签已更新: