エクセル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)
-
Excel VBAで別のブックからユーザーフォームの閉じる
その他(プログラミング・Web制作)
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
-
4
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
5
ブックをCloseまたはQuitで閉じると他のユーザーフォームが消えてしまう。
Excel(エクセル)
-
6
別のユーザーフォームのコマンドボタンを押す
Visual Basic(VBA)
-
7
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
8
Excelで質問です。ListBoxの項目を別bookから読込むには
その他(Microsoft Office)
-
9
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
10
Excel VBAでユーザーフォームだけ表示したい
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
ラベルを表示したり非表示にしたりしたい
Visual Basic(VBA)
-
13
ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい
IT・エンジニアリング
-
14
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
15
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
16
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
17
自作マクロをセルの色が変わる度に再計算させるには
Word(ワード)
-
18
UserForm1.Showでエラーになります。
工学
-
19
リストボックスの選択解除
Visual Basic(VBA)
-
20
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面遷移が不正ですと表示されます
-
オートマトンNFAからDFAへの変換
-
ASPで画面間のパラメタ受け渡し
-
c# 文字列の最後から1文字削除...
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
ブラウザの×(閉じる)ボタンの...
-
エクセルVBAで画面の大きさを取...
-
DataGridViewのチェックボック...
-
複数選択のListBoxでClickイベ...
-
ページングが大量発生する原因...
-
HTMLボタンの文字色を変え...
-
ACCESS2010 WEBブラウザーコン...
-
Webブラウザの閉じるボタン無効...
-
コンピュータへの接続数が最大...
-
getParameterで値が取得できず...
-
PHPからWindowsログインユーザ...
-
セッションIDについて
-
Media Player のスクリーンショ...
-
【ASP.NET】 GroupBoxコントロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTTPリクエストヘッダーの設定...
-
画面遷移が不正ですと表示されます
-
ASPで画面間のパラメタ受け渡し
-
【ASP.NET】ページ遷移してもGr...
-
エクセルVBA 別のブックのユ...
-
VB.NET 画面遷移
-
スマホで、左右にスワイプして...
-
request.QueryStringについて
-
セッション変数への値の代入方...
-
ASP.NET による画面遷移で質問...
-
Spreadのデータを別画面に引き渡す
-
C#でテキストボックスとスクロ...
-
Request Header の追加
-
server.transferで別のサイトへ
-
違うサイトに移動した時にcooki...
-
googleカスタム検索を導入する...
-
Access2013 VBA 複数の画面の遷移
-
VBAで画面遷移時のパラメータに...
-
POSTだけして、ページの移動を...
-
ページ遷移方法について
おすすめ情報
Book2のヘルプボタンでしてます。
Book1へ遷移はしますが、Book1でUserForm1が開いてくれません。
特にエラーも出ないのでどこが悪いのかがわかりません。
siffon9 様
ご回答有難う御座います。
実はUserForm1と同様のUserFormが複数あります。
取引先を入力するフォームのヘルプからはBook2のSheet1へ、顧客を入力するフォーム(UserForm2)のヘルプからは、Book2のSheet2へとしてます。この場合、Book2のSheet1からBook1へ遷移した際は、UserForm1を、Book2のSheet2からBook1へ遷移した場合は、UserForm2を。。。という具合に
それぞれのUserFromを開く事は可能ですか?
勉強不足で大変恐縮なのですが、お教え頂ければ助かります。