

エクセル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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 翌日にお休み予定の従業員がいる場合にアラートを出したい 1 2023/07/11 11:18
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- 英語 至急英作文添削お願いします!! 3 2023/01/22 16:00
このQ&Aを見た人はこんなQ&Aも見ています
-
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
別のユーザーフォームのコマンドボタンを押す
Visual Basic(VBA)
-
Excel VBAで別のブックからユーザーフォームの閉じる
その他(プログラミング・Web制作)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
UserForm1.Showでエラーになります。
工学
-
10
VBA、UserFormを前面に出力してから処理後にももう一度前面に出したい
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
13
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
14
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
15
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
16
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
17
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
18
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセルのdatedif関数を使って...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
【マクロ】【配列】3つのシー...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
vba テキストボックスとリフト...
-
エクセルのVBAで集計をしたい
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
エクセルの循環参照、?
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】A列にある、日付(本...
-
エクセル
-
エクセルに、105と入力すると、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASPで画面間のパラメタ受け渡し
-
HTTPリクエストヘッダーの設定...
-
スマホで、左右にスワイプして...
-
VB.NET 画面遷移
-
ASP.NET による画面遷移で質問...
-
【ASP.NET】ページ遷移してもGr...
-
画面遷移が不正ですと表示されます
-
エクセルVBA 別のブックのユ...
-
違うサイトに移動した時にcooki...
-
Spreadのデータを別画面に引き渡す
-
request.QueryStringについて
-
WebBrowserのドラッグできるフ...
-
オートマトンNFAからDFAへの変換
-
C#でテキストボックスとスクロ...
-
短縮URLが遷移しません。
-
セッション変数への値の代入方...
-
プログラミング開発の質問です...
-
自動ページ遷移について
-
ASPX.CS ではなく単体CSからの...
-
Web制作にあたり
おすすめ情報
Book2のヘルプボタンでしてます。
Book1へ遷移はしますが、Book1でUserForm1が開いてくれません。
特にエラーも出ないのでどこが悪いのかがわかりません。
siffon9 様
ご回答有難う御座います。
実はUserForm1と同様のUserFormが複数あります。
取引先を入力するフォームのヘルプからはBook2のSheet1へ、顧客を入力するフォーム(UserForm2)のヘルプからは、Book2のSheet2へとしてます。この場合、Book2のSheet1からBook1へ遷移した際は、UserForm1を、Book2のSheet2からBook1へ遷移した場合は、UserForm2を。。。という具合に
それぞれのUserFromを開く事は可能ですか?
勉強不足で大変恐縮なのですが、お教え頂ければ助かります。