ユーザーフォームがあります。ユーザーフォームにはラベルがあります。
Userform_Initialize()イベントでは、次のコードを使用します。
x秒が経過した後にユーザーフォームを閉じる。
モジュールには、
sub KillForm()
Unload UserForm1
end sub
ここで、ボタンを押してユーザーフォームを開き、ワークシートをクリックして、ラベルの文字列strMessageと秒xをユーザーフォームに渡したいので、モジュールにサブを作成します。
Sub ShowMessage(strMessage As String, x As Integer)
UserForm1.Label1.Caption = strMessage
userform1.show
End Sub
ボタンのOn_Clickイベントでルーチンを呼び出します
ShowMessage "Hello World.", 3
アラス、それは動作しません。xはユーザーフォームで3ではなく、常に0です。
Userformモジュールとgeneralモジュールの上に整数としてPublicxを試しました。運がない。OnTime行でxを3などの数値に置き換えると、フォームはラベルのキャプションとしてstrMessageとともに表示され、静的時間の後に消えます。しかし、変数xを使用して時間を動的にしたいと思います。
だから:どうすればxの値をユーザーフォームとルーチンに渡すことができますか
Application.OnTime Now + TimeSerial(0, 0, x), "KillForm"
ありがとうAG