こんにちは。
Excel VBAで悩んでいることがあるのですが
分かる方教えて頂ければ幸いです。
シート上のコマンドボタンをクリック後、ユーザーフォーム1を実行し
ユーザーフォーム内で、1~10(仮)を選択し
OKボタンを押すとセルに、結果(数字)を反映するようにしています。
この処理が3パターンあるのですが、
シート上のコマンドボタン1つで、全て行いたいと考えている所です。
自分が考えているパターンとしては、
シート上のコマンドボタンクリック(標準モジュールの中で、[ユーザーフォーム1.Show vbModeless])
ユーザーフォーム1実行
ユーザーフォーム1の実行完了まで、ユーザーフォーム2・ユーザーフォーム3は待機
ユーザーフォーム1実行完了後に、ユーザーフォーム2を実行
ユーザーフォーム2の実行完了まで、ユーザーフォーム3は待機
ユーザーフォーム2実行完了後に、ユーザーフォーム3を実行
このような流れが出来たら嬉しいですが、可能でしょうか?
まだVBAを深く触れていないので
詳しい方いらしたら、教えて頂きたいです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
>このような流れが出来たら嬉しいですが、可能でしょうか?
可能です。
この場合、値の受け渡しなどが必要になるかも知れません。
http://officetanaka.net/excel/vba/tips/tips113.htm
すでに回答されているようにマルチページを使う方法は1つの処理(①~③)に関連オプションが複数ある場合などにとても有効的で処理の度にページ遷移をさせると判り易い入力手順になります。
他にもフォームのサイズを変更してコントロールを表示させたり
同じコントロールの処理内容を条件によって変えたり(表示名や処理内容)
なども可能だと思います。
①の処理の後②の処理で終わるとか②だけで良い場合などあるのでしょうか
全体の処理内容が不明なのでどの様にするのが好ましいのか分かりませんが
ユーザーが直感的(デザイン性を含め)に正しく入力、処理できる事を1番に作られるのが良いと思います。(当然と言えば当然ですね)
私的には入力確定3回はギリ、4回は面倒かな・・・
No.2
- 回答日時:
こんにちは
>このような流れが出来たら嬉しいですが、可能でしょうか?
可能です。
フォームを順に表示するように制御すれば良いです。
実際の内容が不明ですが、フォームを分けずにマルチページ(=タブ)を利用する方法もありそうな気がします。
https://excel-pro.info/06_excel-VBA_39.html
https://www.petitmonte.com/excel/excel_vba_37.html
No.1
- 回答日時:
おはようございます。
個人的な意見になりますが、
実際にどの様な事をされたいかが不明ですが、1つのユーザーフォームで
全ての処理を行うでは、ダメなのでしょうか?
3か所の数字?を選択して、OKボタンなどで一括処理。 計4アクション。
質問者さんの方法ですと、数字選択後、決定ボタンをクリック、これを3回
繰り返すという事になりますよね? 計6アクション。
実際に使う時に、楽で使い易い方法が良いかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- Excel(エクセル) vba フォーム軽量化 1 2022/09/07 18:59
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(コンピューター・テクノロジー) (コマンドプロンプト)コマンドプロンプトのactiveについて 2 2022/07/16 17:21
- UNIX・Linux リナックスのリモート接続の際に使う sshコマンドについて 1 2022/11/21 19:46
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
エクセルVBAのフォームを最...
-
ユーザーフォーム上に現在日時...
-
【VBAユーザーフォームで閉じる...
-
ユーザーフォームのラベルに時...
-
MSGBOXのフォント大きさ変更
-
コントロールの存在確認
-
Microsoft Formsの「個人情報や...
-
VBAでユーザーフォームを再表示...
-
フォームのテキストボックスな...
-
ACCESSのフォーム、開くんです...
-
アクセス2013 フォームが...
-
エクセルのチェックボックスの...
-
ExcelVBAのユーザーフォームでe...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
フォームのアクティブと非アク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォーム上に現在日時...
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
Excelにて、ユーザーフォームで...
-
VBAでユーザーフォームを再表示...
-
【VBAユーザーフォームで閉じる...
-
MSGBOXのフォント大きさ変更
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
エクセルVBAのフォームを最...
-
コントロールの存在確認
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
おすすめ情報