アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数のUserFormを表示させた時に、
コードで指定したUserForm以外のUserFormを閉じる方法を教えてください。
Unload UserForm1、Unload UserForm2、Unload UserForm3
このような方法では、手間がかかってしまいます。
何か良い方法がありましたら教えてください。
宜しくお願いします。

A 回答 (2件)

はて??



>3つのUserFormを表示させた場合、
>1つのUserFormを画面上に残した状態で、残りの2つのUserFormを閉じる方法

回答したマクロがまさにそのように作動しますが、いったいどういう事でしょうか。
回答のマクロをまだ試してもいないのですか?




それから意味が通じていないようなので、一応補足しておきます。

再掲:
>どこから実行したいのか不明

何らかの方法でユーザーフォームを3つとか表示させてます
ここから「どこに記載したマクロを実行して」要らない2つをアンロードしたいのですか。

・たとえば標準モジュールに記載したマクロを新たに実行する(回答は基本このパターンを想定しています)
・たとえば3つ開いているユーザーフォームのどれかに載っている、たとえばコマンドボタン等から実行する
 その場合、残したいユーザーフォームと、いままさにボタンをクリックしたユーザーフォームの関係はどうなっているのですか。
・たとえば「コマンドボタンがクリックされたそのユーザーフォーム」が残って欲しくて、他を閉じたいのか
・たとえば「どのユーザーフォームのボタンをクリックしても関係なし」に、特定の1つのユーザーフォームを残したいのか



#でもまぁ、すでに2回も回答してますので、これ以上はあんまり回答を重ねるのは、こちらも大変ですしあなたも説明するのはメンドクサイでしょう。
まず自力で適切に応用してみて、それでも上手くいかないようなら一回このご相談は「解決」の操作で閉じて、改めて詳しい状況を添えてご相談を新たに投稿し直してみてはいかがですか。
    • good
    • 0
この回答へのお礼

大変申し訳ありません。
ご説明の通りUserForm1を残した状態で、他のUserFormを閉じる事が出来ました。
ありがとうございます。

お礼日時:2013/11/30 16:30

どこから実行したいのか不明ですが,とりあえず



 dim o as object
 for each o in userforms
 if o.caption <> "UserForm1" then
  unload o
 end if
 next

みたいなカンジで,ふつーに巡回してけばいいのでは。

この回答への補足

説明が足らず、申し訳ありません。
例えば、3つのUserFormを表示させた場合、
1つのUserFormを画面上に残した状態で、残りの2つのUserFormを閉じる方法があればと思いました。

補足日時:2013/11/30 06:29
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!