我正在通过单击按钮加载用户窗体,并且在我单击工作簿之前,此用户窗体未显示在前面。 Excel图标一直闪烁,当我点击工作表时,闪烁停止并显示用户窗体。
可能是什么原因。这很奇怪,因为相同的代码适用于其他用户表单。
FormattingForm.StartUpPosition = 0
FormattingForm.Left = Application.Left + (0.5 * Application.Width)
- (0.5 * NewReportEntry.Width)
FormattingForm.Top = Application.Top + (0.5 * Application.Height)
- (0.5 * NewReportEntry.Height)
FormattingForm.Show
答案 0 :(得分:2)
这取决于你如何称呼你的表格。在你的情况下,最便宜的&最脏的解决方案是这样的:
Public Sub TestMe()
Dim FormattingForm As New UserForm1
FormattingForm.StartUpPosition = 0
FormattingForm.Left = Application.Left + (0.5 * Application.Width)
FormattingForm.Top = Application.Top + (0.5 * Application.Height)
FormattingForm.Show
End Sub
UserForm1
是VBEditor中表单的名称:
如果您不喜欢弄脏并且了解一些OOP,请尝试以下方法之一: https://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/ https://rubberduckvba.wordpress.com/2017/10/25/userform1-show/
或者在VBA中使用旧的技巧,在表单中编写代码并在那里调用它。
答案 1 :(得分:0)
这可能与打开另一个应用程序有关。对我来说,那是MS Word。
当我在打开Word后打开表单时,Excel会按照您上面的描述进行反应。它会闪烁,并且只有在单击MS Excel之后我才能看到该表格。
Set WdDoc = WdApp.Documents.Open(WdDocPathOpen, ReadOnly:=True)
frmLeaseType.Show
当我在打开Word之前启动表单时,它会按预期运行。
frmLeaseType.Show
Set WdDoc = WdApp.Documents.Open(WdDocPathOpen, ReadOnly:=True)