

エクセル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は閉じずに開いたままです。
上手く説明できなく恐縮ですが、どなたかお教えいただければ助かります。
No.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を変えれば良いですね。
No.3
- 回答日時:
Book2でやってるからダメなんでしょうね。
おそらくその時点で、フォーム1はBook2の持ち物になったんでしょう。で、そいつが閉じたからフォーム1も閉じた、と。
Book1で.Showさせましょう。
2番さんの案が一般的なやり方です。
No.2
- 回答日時:
Book1のWorkbook_Activate()イベントでUserForm1.Showすれば良いのではないでしょうか。
ただし、そのままではBook1を起動したときにもUserForm1が表示してしまうので、
フラグ変数を用意してBook1からBook2に遷移したときに、フラグ変数をTrueにして
Workbook_Activate()イベントではこの変数がTrueのときにUserForm1.Showします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
Excel VBAで別のブックからユーザーフォームの閉じる
その他(プログラミング・Web制作)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
-
4
別のユーザーフォームのコマンドボタンを押す
Visual Basic(VBA)
-
5
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
6
VBA、UserFormを前面に出力してから処理後にももう一度前面に出したい
Visual Basic(VBA)
-
7
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
10
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
11
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
12
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
13
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
14
Excel VBAでユーザーフォームだけ表示したい
Visual Basic(VBA)
-
15
エクセルでファイルを閉じても空ウィンドウが残ります
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
18
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
19
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホで、左右にスワイプして...
-
ASP.NET による画面遷移で質問...
-
request.QueryStringについて
-
VBAで一時中断したプログラムの...
-
コネクション・セッション・ト...
-
Eclipseでクリーンが出来ない
-
getParameterで値が取得できず...
-
異なるformのsubmitボタンを同...
-
DataGridViewのチェックボック...
-
同じソリューション内の別のプ...
-
aspxをhtmlに変換する方法について
-
コンピュータへの接続数が最大...
-
Accessの画面更新を一時的に停...
-
Webブラウザの閉じるボタン無効...
-
複数選択のListBoxでClickイベ...
-
VC++ MFC CListCtrlで、ボタン...
-
DVD-Rの「セッションを閉じる」...
-
asp.NET初心者です。「 ’Contex...
-
JSPでメッセージボックスを表示...
-
ASP.Net 条件により自身を閉じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面遷移が不正ですと表示されます
-
HTTPリクエストヘッダーの設定...
-
ASPで画面間のパラメタ受け渡し
-
【ASP.NET】ページ遷移してもGr...
-
ASP.NET による画面遷移で質問...
-
自動ページ遷移について
-
VB.NET 画面遷移
-
Spreadのデータを別画面に引き渡す
-
オートマトンNFAからDFAへの変換
-
request.QueryStringについて
-
VB.NETのWebアプリケーション開...
-
C#でテキストボックスとスクロ...
-
ページ遷移方法について
-
シングルサインオンの方法
-
"ビジョ"というソフトウェア
-
スマホで、左右にスワイプして...
-
javascriptの質問です
-
アプリの不具合?
-
性の悩み「カテゴリ」について
-
違うサイトに移動した時にcooki...
おすすめ情報
Book2のヘルプボタンでしてます。
Book1へ遷移はしますが、Book1でUserForm1が開いてくれません。
特にエラーも出ないのでどこが悪いのかがわかりません。
siffon9 様
ご回答有難う御座います。
実はUserForm1と同様のUserFormが複数あります。
取引先を入力するフォームのヘルプからはBook2のSheet1へ、顧客を入力するフォーム(UserForm2)のヘルプからは、Book2のSheet2へとしてます。この場合、Book2のSheet1からBook1へ遷移した際は、UserForm1を、Book2のSheet2からBook1へ遷移した場合は、UserForm2を。。。という具合に
それぞれのUserFromを開く事は可能ですか?
勉強不足で大変恐縮なのですが、お教え頂ければ助かります。