|
▼YOU さん:
>私の書いたコードは以下の通りです。標準モジュールが2つありますが、どちらからユーザーフォームにアクセスしたかによって、走らせるプログラムを切り替えようとしています。 どちらの標準モジュールかを判断させるためにSEETの変数で判断させています。どうぞ、よろしくお願いします。
ユーザーフォームのモジュールに宣言した
Public SEET As Variant
標準モジュール1の
Public SEET As Variant
標準モジュール2
Public SEET As Variant
これらの3つの変数は、名前が同じでも別の変数ですよ!!
これは、バグでもありません!!
従って、
標準モジュール1で
>SEET = 1
>UserForm1.Show
のコードを実行して
ユーザーフォームで
If SEET = 1 Then
と記述しても、別の変数を参照しているのですから、
>標準モジュールで設定した変数の値を読み込んでいないようです
という結果になるのです。
>Public SEET As Variant
>Private Sub CommandButton1_Click() ’ユーザーフォーム
>If SEET = 1 Then
>Call load_np
>ElseIf SEET = 2 Then
>Call load_np2
>End If
>Unload Me
>End Sub
↑このコードをそのまま生かしましょう。
'Public SEET As Variant ←要りません 削除して
>Public Sub スタート()'標準モジュール1
with userform1
.SEET = 1
.Show
end with
>End Sub
>
'Public SEET As Variant ←要りません 削除して
>Public Sub スタート2()'標準モジュール2
with userform1
.SEET = 2
.Show
end with
>End Sub
標準モジュールのコードを上記のように変更してください
|
|