これは簡単なことだと思いますが、全体を見渡しても説明が見つかりません。確かに、他の多くの人がモジュールとユーザーフォームを別のワークブックに移動したいと考えています。3 つのモジュールと 1 つのユーザーフォームをエクスポートし、それらを新しいワークブックにインポートしました。エクスポートされたユーザーフォーム名は「NUI」で、インポート後に新しいワークブックのプロパティを見ると、名前はまだ「NUI」です。ただし、サブを実行してユーザーフォームを表示しようとすると、ランタイムデータの不一致エラーが発生し、NUI.StartUpPosition 行で NUI が強調表示されます。これが機能しなくなった理由はありますか?切断する必要がある何らかのリンクはありますか? モジュールはまだ他のファイルでいくつかのユーザーフォーム NUI を見つけようとしますか? 新しいワークブックでユーザーフォームを削除して新しいユーザーフォームを追加すると、NUI という名前を付けようとすると、名前が使用されていることがわかります。何か案は?
Sub CallUserForm()
' Calls UserFrom NUI and centers it to excel window whether it is full screen or not.
PO.Unprotect Password:="1234"
PO.Activate
NUI.StartUpPosition = 0
NUI.Top = Application.Top + 125
NUI.Left = Application.Left + Application.Width / 2 - NUI.Width / 2
NUI.Show
PO.Protect Password:="1234"
End Sub