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

エクセル2007のVBAについての質問です。
Book1のSheet1に取引先を入力するUserForm1があります。
Book2には操作の説明を記載してます。
UserForm1上に「ヘルプボタン」があり、Book2のヘルプ(Sheet1)に遷移する様にしてます。
UserForm1内のTextBoxにセルからの値を取得したりしているので、Book1からBook2に遷移した際、UserForm1はUnloadではなくHideにしてます。
Book1からBook2に遷移し、UserForm1は非表示になり、Book2からBook1に戻る際に、シート上の「戻るボタン」をクリックでBook1に遷移し、且つBook2は保存せずに閉じる様にしてます。
そこまでは何の問題もないのですが、Book2からBook1に遷移した時に、非表示にしていたUserForm1を再表示したいのですが表示されません。
尚、Book1からBook2へ遷移した際、Book1は閉じずに開いたままです。
上手く説明できなく恐縮ですが、どなたかお教えいただければ助かります。

質問者からの補足コメント

  • Book2のヘルプボタンでしてます。
    Book1へ遷移はしますが、Book1でUserForm1が開いてくれません。
    特にエラーも出ないのでどこが悪いのかがわかりません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/12/09 20:16
  • siffon9 様
    ご回答有難う御座います。
    実はUserForm1と同様のUserFormが複数あります。
    取引先を入力するフォームのヘルプからはBook2のSheet1へ、顧客を入力するフォーム(UserForm2)のヘルプからは、Book2のSheet2へとしてます。この場合、Book2のSheet1からBook1へ遷移した際は、UserForm1を、Book2のSheet2からBook1へ遷移した場合は、UserForm2を。。。という具合に
    それぞれのUserFromを開く事は可能ですか?
    勉強不足で大変恐縮なのですが、お教え頂ければ助かります。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/12/10 14:01

A 回答 (4件)

> 取引先を入力するフォームのヘルプからはBook2のSheet1へ、


> 顧客を入力するフォーム(UserForm2)のヘルプからは、Book2のSheet2へとしてます。
> この場合、Book2のSheet1からBook1へ遷移した際は、UserForm1を、
> Book2のSheet2からBook1へ遷移した場合は、UserForm2を。。。という具合に
> それぞれのUserFromを開く事は可能ですか?

No.2ではフラグ変数の型をBooleanで想定していましたが、Long型にすれば良いです。
起動時の値が0
Book2のSheet1へ遷移する際には、1を設定
Book2のSheet2へ遷移する際には、2を設定
……
として
Book1のWorkbook_Activate()では、フラグ変数の値によって表示させるUserFormを変えれば良いですね。
    • good
    • 0
この回答へのお礼

なんとかうまくできました^^
有難う御座いました。

お礼日時:2016/12/15 10:18

Book2でやってるからダメなんでしょうね。


おそらくその時点で、フォーム1はBook2の持ち物になったんでしょう。で、そいつが閉じたからフォーム1も閉じた、と。
Book1で.Showさせましょう。
2番さんの案が一般的なやり方です。
    • good
    • 0

Book1のWorkbook_Activate()イベントでUserForm1.Showすれば良いのではないでしょうか。



ただし、そのままではBook1を起動したときにもUserForm1が表示してしまうので、
フラグ変数を用意してBook1からBook2に遷移したときに、フラグ変数をTrueにして
Workbook_Activate()イベントではこの変数がTrueのときにUserForm1.Showします。
この回答への補足あり
    • good
    • 0

UserForm1.Show はどこでやってるの?


誰がやってるの?
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A