Excel VBA質問箱 IV

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

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


11273 / 13644 ツリー ←次へ | 前へ→

【17008】ユーザーフォームが現在アクティヴか否かの判断 はっしー 04/8/18(水) 17:06 質問[未読]
【17014】Re:ユーザーフォームが現在アクティヴか否... ichinose 04/8/18(水) 20:03 発言[未読]
【17023】Re:ユーザーフォームが現在アクティヴか否... Jaka 04/8/19(木) 9:19 発言[未読]
【17025】Re:ユーザーフォームが現在アクティヴか否... はっしー 04/8/19(木) 14:58 お礼[未読]

【17008】ユーザーフォームが現在アクティヴか否か...
質問  はっしー  - 04/8/18(水) 17:06 -

引用なし
パスワード
   いつもお世話になっております。
また皆様のお知恵を拝借いたしたく、参上仕りました m(_ _)m。

シートにボタンを配置してあり、それをクリックして処理を開始したいのですが、その時すでにアクティヴになっているユーザーフォームがあった場合、そのフォーを全て落としてから処理を開始したいと考えております。

具体的には
Private Sub CommandButton1_Click()

If UserForm10.ActiveControl = True Then
  Unload UserForm10
End If

UserForm1.Show

End Sub
と、行った感じでコーディングしてみました(もちろんダメダメなのですが(×_×#)。
意図したところはUserForm10がアクティヴだった場合、これを落として、UserForm1をアクティヴにする、ということです。

ちなみにUserFormは現在11作成しており、おのおのUserForm1〜UserForm11となっております。
これら全てがアクティヴか否かを判断して、アクティヴならば落として次の処理にいければベストです。

どなたか、ご教示いただけますよう、よろしくお願いいたします。

【17014】Re:ユーザーフォームが現在アクティヴか...
発言  ichinose  - 04/8/18(水) 20:03 -

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

>いつもお世話になっております。
>また皆様のお知恵を拝借いたしたく、参上仕りました m(_ _)m。
>
>シートにボタンを配置してあり、それをクリックして処理を開始したいのですが、その時すでにアクティヴになっているユーザーフォームがあった場合、そのフォーを全て落としてから処理を開始したいと考えております。
↑この表現が気になってしまって・・・。
本来、アクティブなフォームってひとつだと思うのですが・・・。
シートに配置してあるボタンをクリックした時点でロードされているフォームを
削除すると言う事でしょうか?

'======================================================
Sub test()
 For Each frm In UserForms
   Unload frm
   Next
End Sub

【17023】Re:ユーザーフォームが現在アクティヴか...
発言  Jaka  - 04/8/19(木) 9:19 -

引用なし
パスワード
   みなさま こんにちは。

ichinoseさんに付け足し、
ichinoseさまの方法だけだと、モードレスだけの場合とお考えになられた方がいいです。
モーダルの場合、ロードした順番と逆にUnloadしないとダメです。
(場合によっては、大丈夫かも??)
ゴミですみません。

【17025】Re:ユーザーフォームが現在アクティヴか...
お礼  はっしー  - 04/8/19(木) 14:58 -

引用なし
パスワード
   >ichinose様、ありがとうございました。

そうです、アクティヴではなくてロードされているユーザーフォームという意味です。
言葉が不適切で申し訳ございませんでした(と、いうよりそういう区別の認識自体がありませんでした~(°°;))``)。
おかげさまで、無事に解決いたしました。
重ねて御礼申し上げます。

>Jaka様、アドバイスありがとうございます。
今のところ不都合なく動作しております。
なにか不具合が起きた場合、その線から検討させていただきます。

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