2016-09-19 14 views
0

私は非常に単純なフォームを持っています。ロードすると、特定のクラスモジュールで定義されている新しいオブジェクトThingを作成する必要があります。 UFには、さまざまな機能に関連付けられたいくつかのボタンもあります。VBA - イベントコードが実行されていない

これは、ロード・イベントにUFのコードの仲間である:

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 

I F5は直接に、UFが現れるが、コードはフュルト実行されず、Thingオブジェクトmthをしても作成されていない場合...

Iはまた、次のコードモジュールからフォームを呼び出すことを試みたが、結果は同じであった:resulとして

Sub test() 

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

End Sub 

フォームがロードされるたびに、新しいmthが作成され、その名前を要求するInputBoxが表示されます。私は非常にばかげた何かを逃す気がします...あなたが私を助けてくれますか?そのUserForm_Initialize VBAでいる間

Private Sub UserForm_Initialize() 

End Sub 

UserForm_LoadはVB.Netである内

+0

VBAでは、フォーム上(フォームではなくボタン上)をダブルクリックして、そこに表示される自動マクロにコードを記述します。 – Vityata

+0

'UserForm_Load()'の代わりに 'UserForm_Activate()'を試してください – gizlmo

+1

'Private Sub UserForm_Load()'とは何ですか? VBAでUser_Formをロードするために 'Private Sub UserForm_Activate()'または 'Private Sub UserForm_Initialize()'を知っています –

答えて

1

はあなたのコードを記述します。

関連する問題