Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9921 / 13646 ツリー ←次へ | 前へ→

【24757】UserFormのLoad,Unload情報を知る方法 kobasan 05/5/8(日) 17:35 質問[未読]
【24759】Re:UserFormのLoad,Unload情報を知る方法 ichinose 05/5/8(日) 18:39 発言[未読]
【24760】Re:UserFormのLoad,Unload情報を知る方法 kobasan 05/5/8(日) 19:47 お礼[未読]

【24757】UserFormのLoad,Unload情報を知る方法
質問  kobasan  - 05/5/8(日) 17:35 -

引用なし
パスワード
   UserForm1がLoadされていたらいったんUnloadした後、
UserFormを再Load、表示させたいのですが、
Load,Unload情報を知る方法はあるのでしょうか?

UserForm1内の表示Label数が変化するため、
Userform1をリセットする必要があるのです。

if (UserFormがLoadされているとき) then Unload UserForm1  
Load UserForm1

としたいのですが

【24759】Re:UserFormのLoad,Unload情報を知る方法
発言  ichinose  - 05/5/8(日) 18:39 -

引用なし
パスワード
   ▼kobasan さん:
こんばんは。

>UserForm1がLoadされていたらいったんUnloadした後、
>UserFormを再Load、表示させたいのですが、
>Load,Unload情報を知る方法はあるのでしょうか?
>
>UserForm1内の表示Label数が変化するため、
>Userform1をリセットする必要があるのです。
>
>if (UserFormがLoadされているとき) then Unload UserForm1  
>Load UserForm1
Userformsというコレクションに指定のユーザーフォームが存在するか否か
をチェックしてみてはいかがですか?

'=====================
Sub test()
  Dim frm As Object
  Load UserForm1
  Set frm = getfrm("userform1")
  If Not frm Is Nothing Then
   frm.Show
   End If
End Sub
'=============================================
Function getfrm(frmnm) As Object
  Dim frm As Object
  Set getfrm = Nothing
  For Each frm In UserForms
   If UCase(frm.Name) = UCase(frmnm) Then
    Set getfrm = frm
    Exit For
    End If
   Next
End Function

【24760】Re:UserFormのLoad,Unload情報を知る方法
お礼  kobasan  - 05/5/8(日) 19:47 -

引用なし
パスワード
   ▼ichinose さん 今晩は

>Userformsというコレクションに指定のユーザーフォームが存在するか否か
>をチェックしてみてはいかがですか?


Userformsというコレクションというものがあるのですね。
勉強になりました。

提示されたサンプルコードを利用して、うまくできました。
ありがとうございました。

9921 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free