如何随着代码的进行更新用户表单内容
How to update Userform contents as code progresses
我遇到了一些 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 时,它只会显示为白色屏幕,直到它完成代码然后显示所有 "Success"。这是一个问题,因为它没有像我想象的那样显示进度。我的代码 运行 是不是太快了?提前致谢!
将尝试根据您的代码给出 _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 中选择了一些东西:
Combobox1 值已更改,标签已更新:
我遇到了一些 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 时,它只会显示为白色屏幕,直到它完成代码然后显示所有 "Success"。这是一个问题,因为它没有像我想象的那样显示进度。我的代码 运行 是不是太快了?提前致谢!
将尝试根据您的代码给出 _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 中选择了一些东西:
Combobox1 值已更改,标签已更新: