「ブロック機能」のリニューアルについて

こんにちは。
Excel VBAで悩んでいることがあるのですが
分かる方教えて頂ければ幸いです。

シート上のコマンドボタンをクリック後、ユーザーフォーム1を実行し
ユーザーフォーム内で、1~10(仮)を選択し
OKボタンを押すとセルに、結果(数字)を反映するようにしています。
この処理が3パターンあるのですが、
シート上のコマンドボタン1つで、全て行いたいと考えている所です。

自分が考えているパターンとしては、
シート上のコマンドボタンクリック(標準モジュールの中で、[ユーザーフォーム1.Show vbModeless])
ユーザーフォーム1実行
ユーザーフォーム1の実行完了まで、ユーザーフォーム2・ユーザーフォーム3は待機
ユーザーフォーム1実行完了後に、ユーザーフォーム2を実行
ユーザーフォーム2の実行完了まで、ユーザーフォーム3は待機
ユーザーフォーム2実行完了後に、ユーザーフォーム3を実行

このような流れが出来たら嬉しいですが、可能でしょうか?
まだVBAを深く触れていないので
詳しい方いらしたら、教えて頂きたいです。

教えて!goo グレード

A 回答 (3件)

こんにちは


>このような流れが出来たら嬉しいですが、可能でしょうか?
可能です。
この場合、値の受け渡しなどが必要になるかも知れません。
http://officetanaka.net/excel/vba/tips/tips113.htm

すでに回答されているようにマルチページを使う方法は1つの処理(①~③)に関連オプションが複数ある場合などにとても有効的で処理の度にページ遷移をさせると判り易い入力手順になります。

他にもフォームのサイズを変更してコントロールを表示させたり
同じコントロールの処理内容を条件によって変えたり(表示名や処理内容)
なども可能だと思います。

①の処理の後②の処理で終わるとか②だけで良い場合などあるのでしょうか

全体の処理内容が不明なのでどの様にするのが好ましいのか分かりませんが
ユーザーが直感的(デザイン性を含め)に正しく入力、処理できる事を1番に作られるのが良いと思います。(当然と言えば当然ですね)
私的には入力確定3回はギリ、4回は面倒かな・・・
    • good
    • 0

こんにちは



>このような流れが出来たら嬉しいですが、可能でしょうか?
可能です。
フォームを順に表示するように制御すれば良いです。

実際の内容が不明ですが、フォームを分けずにマルチページ(=タブ)を利用する方法もありそうな気がします。
https://excel-pro.info/06_excel-VBA_39.html
https://www.petitmonte.com/excel/excel_vba_37.html
    • good
    • 0

おはようございます。



個人的な意見になりますが、
実際にどの様な事をされたいかが不明ですが、1つのユーザーフォームで
全ての処理を行うでは、ダメなのでしょうか?
3か所の数字?を選択して、OKボタンなどで一括処理。 計4アクション。

質問者さんの方法ですと、数字選択後、決定ボタンをクリック、これを3回
繰り返すという事になりますよね? 計6アクション。

実際に使う時に、楽で使い易い方法が良いかと思います。
    • good
    • 0

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

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

教えて!goo グレード

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

人気Q&Aランキング