2016-09-19 77 views
0

我有一个非常简单的表单,加载时应该创建一个新的对象Thing,它是在特定的类模块中定义的。用友也有几个按钮与不同的功能相关联。VBA - 加载事件代码未运行

这是用友的代码相关联的负载事件:

Option Explicit 
Private mth As Thing 

Private Sub UserForm_Load() 
    Set mth = New Thing 
    mth.Name = InputBox("Enter a name for the Thing") 
End Sub 

如果我F5直接在此,用友显示出来,但是代码不弗思运行和Thing对象mth甚至没有创建...

我也试着从一个模块,下面的代码调用的形式,但结果却是相同的:

Sub test() 

Dim uf As Object 
Set uf = New Dinamico 'this is the name of the UserForm 
Load uf 

End Sub 

由于resul t,我希望每次载入表单时都会创建一个新的mth,并且出现一个名称为InputBox的名称。我有这种感觉会错过一些非常愚蠢的事情......你能帮我解决吗?

+0

在VBA中,双击窗体(不在按钮上,但在窗体上),并将代码写入自动化宏中,并出现在那里。 – Vityata

+0

尝试'UserForm_Activate()'而不是'UserForm_Load()' – gizlmo

+1

什么是'Private Sub UserForm_Load()'?我知道'Private Sub UserForm_Activate()'或'Private Sub UserForm_Initialize()'在VBA中加载User_Form –

回答

1

编写自己的代码中

Private Sub UserForm_Initialize() 

End Sub 

UserForm_Load是在VB.Net,而在VBA其UserForm_Initialize。