在Office 2010的VBA中创建的宏在Office 2016上具有不同的行为

时间:2018-09-28 19:04:30

标签: vba excel-vba excel-2010 excel-2016

我有一个宏,用于处理带有数据的工作表列表。通过显示状态和正在处理的工作表的表单监视整个过程。将Office版本从2010年升级到2016年后,我的监视表单被一个Excel空窗口隐藏,直到整个处理结束。 与Office升级之前一样,请提供有关如何使我的状态窗口恢复到前台的建议可以帮助您。

Private Sub InitializeForm()
    If myInfoForm Is Nothing Then
        Set myInfoForm = New FrmAuswerteInfo
    End If
End Sub

Public Sub Show()
    If Not myVisible Then
        Call InitializeForm
        Call myInfoForm.Show
    End If
    myVisible = True
End Sub

此致

1 个答案:

答案 0 :(得分:0)

在表单引用后面加上DoEvents(例如,下面是一些代码的一部分,这些代码应提供状态栏,并在vba执行时更新...)

With UserForm1
    .FrameProgress.Caption = Format(PctDone, "0%")
    .LabelProgress.Width = PctDone * (.FrameProgress.Width - 10)
End With
DoEvents