異なるモジュールから異なる時間に2つの異なるユーザーフォームを呼び出す手順は混乱します。異なるユーザーフォームを順次ロードする
私は名前の次の二つのユーザーフォームを持っている:「UserForm1で」オン「のUserForm1」と「UserForm2は」、私もコードネームを持つ静的なボタンがあります。「プライベートサブUserForm_Clickを()」
フォームから潜水艦名前VIA
private sub OKButton_Click()
msgbox("OKButton_Click via 1")
End Sub
Public Sub UserForm1_Initialize()
msgbox("UserForm1_Initialize via 1")
'dynamic form initialisation
End Sub
Private Sub UserForm_Click()
msgbox("UserForm_Click via 1")
End Sub
:[UserForm1でに私がボタンを持っている]:
:UserForm1で:名で
:次のコードが含まれていUserForm2
Public Sub UserForm_Initialize()
msgbox("UserForm_Initialize via 2")
'dynamic form initialisation
End Sub
そして私は中2人のユーザーフォームを呼び出す:UserForm1ではうまく働いたときに最初私はUserForm2を追加し呼び出すことができなかった時に、私は、どちらか一方を呼び出したとき
Module57
Sub Vitamins()
UserForm2.Show 'Initialising Userform2
end sub
Module53
Sub fix_ratios()
UserForm1.Show 'Initialising Userform1
end sub
問題が発生したので、私は名前とコードを変更UserForm2の、新しいコードを作成しUserForm2のオブジェクトをダブルクリックすることで:
Private Sub UserForm_Initialize()
End Sub
だから私はそれがうまく働いた、そこにUserForm2を追加し初期化するための私のコードを貼り付けました。しかし、私は今、最初のUserFormから "UserForm_Initialize()"を盗むことに気付きました。
だから私はにサブネームを変更しようとした:
Public Sub UserForm1_Initialize()
end sub
と
Public Sub UserForm2_Initialize()
end sub
しかし、それはもうユーザーフォームを呼び出すことはありません。誰かが提案をしたり、私が間違っていることを教えてくれますか? 。tlemasterが提案よう
UserFrom_Initializeサブフォームがそのフォームのコードに含まれている限り、他のフォームに応答していません。 initializeイベントはフォームのオープンに応答して実行されます。あなたが提案したように "UserFormsを呼び出す"ことはありません。一度に両方の書類を開こうとしていますか?その場合は、フォームのShowModalプロパティがFalseに設定されていることを確認します。 – tlemaster
ありがとう、あなたは正しかった、私はサブの名前に矛盾していた。その結果、私は構造の理解を失い、技術的に見落としを修正しました。答えに解決策を掲載します。 –