VBA – 定义一个用户表单稍后调用它

对不起,如果这不明确,但由于某种原因,我的代码最近停止工作,我不知道为什么。

基本上,我在我的工作中创build了一个excel vba程序来做报告(例如炉子报告或树报告)。 有一个封面表格,要求用户input报告的各种细节(即出席者,date,地址等)。 一旦完成,他们然后select一个报告来完成(有5个不同的用户表单,他们可以从封面上去)。 例如,如果他们select电气,他们然后可以select一般,火炉或热水系统报告(记住这一点)。 说他们select水暖,他们可以select一般或热水系统报告。 inheritance人我的问题…我已经回来或返回所有的用户forms(除封面页)上的button,我使用相同的用户表单为热水系统和一般报告电气和pipe道(因为文本框,checkbox是相同的)。 考虑到这一切…..(对不起….)…..

我如何定义什么样的用户表单(pipe道或电气)也回来?

如果需要可以发布代码

你可以添加例如Parent属性到子窗体,所以孩子知道它的父项。 HTH。

两个窗体的简单示例: UserForm1 UserForm2UserForm2 UserForm2

 ' This is parent Form Private child As UserForm2 Private Sub UserForm_Initialize() Set child = New UserForm2 Set child.Parent = Me ' here the parent is set so the child knows it End Sub Private Sub CommandButton1_Click() Me.Hide child.Show End Sub 

 ' This is Child Form which knows about it's parent Private m_parent As Object Public Property Get Parent() As Object Set Parent = m_parent End Property Public Property Set Parent(ByVal vNewValue As Object) Set m_parent = vNewValue End Property Private Sub CommandButton1_Click() ' Go back to parent Me.Hide m_parent.Show End Sub