Excel VBAで特定の値が入力されたときにユーザーフォームを表示する方法
- ExcelのVBAを使用して、特定の値が入力されたときにユーザーフォームを表示する方法を教えてください。
- セルD15で選択された値によって、セルB15に値を反映させる必要があります。
- セルD15の値が108の場合には、ユーザーフォームを表示し、ユーザーがBBBまたはDDDを選択し、選択された値をセルB15に反映させる必要があります。
- ベストアンサー
Excel VBA ある値が入力されたときだけユーザーフォームを出したいです
ExcelのVBAを教えてください。 D15は、リストで入力する値を選択できるようになっています。 D15で選択された値によって、B15に反映されるようになっています。 たとえば、 D15の値をリストで105を選んだら、B15に「AAA」と入り、 D15の値をリストで109を選んだら、B15に「ccc」と入ります。 これらは、B15にIF関数が入っていて制御されています。 ところが、D15の値をリストで108と選んだ時だけ、B15に「BBB」と入る場合と「DDD」と入る場合の2パターンあり、これは人間の判断でどちらにするか考えるので、IF関数を使えません。 なので、 D15のリストボックスで108を選んだときだけ、 ユーザーフォームを出し(UserForm1.Show)、ユーザーフォームにBBBとDDDのコマンドボタンがあって、Tabでコマンドを選択し、Enterで確定し(マウスは使いたくない)、確定したコマンドの値をB15に反映させるようにしようと思いました。 ・・・が、ユーザーフォームを出すタイミングのVBAの組み方がわかりません。 D15の値をリストから選択する・・・というのは、他の方が作った仕組みなので変えることはできません。
- tainosuke
- お礼率32% (45/137)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
イベントのみで '対象シートのシートモジュールへ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "D15" Then Exit Sub If Target.Value = 108 Then UserForm1.Show End Sub 参考まで
関連するQ&A
- VBAのユーザーフォームの使い方
皆様、こんにちは。 VBAのユーザーフォームを習い始めた初心者です。本の説明を読んでもユーザーフォームの使い方がよく分かりません。例えば、あるセールをクリックしたら、フォームが表示される、そしてフォームの中にあるコンボボックスのリストの中から選ばれた値が最初に選択したセールに入力されるという使い方がありえますか?申し可能でしたら、コード作成の例をいただけないでしょうか? どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- excelでVBAでユーザーフォームのリストBOX
下記VBAの作成の仕方を教えていただけないでしょうか。 やりたいこと (1)sheet2のA1セル~A5セルまでの間の間をユーザーフォームのリストボックスに登録する (2)sheet1のA1セルをクリックすると、ユーザーフォームが起動し、任意のリストをクリックすると、 その値がA1セルに格納され。ユーザーフォームが終了する。 ※コマンドボタンは使わずにお願いします。なおexcel2000です。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAのユーザーフォーム
こんばんは、エクセルVBAでユーザーフォームを作成しました。 そこに入力したものがブックに反映するわけですが、フォームに0(ゼロ)を入力した場合、ブック上のセルを選択すると0と入っているのですが、表示されません。なぜでしょう???? これができないとせっかく時間をかけて作ったのに、使えません。どなたかご存知の方よろしくお願いします!!!!
- ベストアンサー
- オフィス系ソフト
- VBA ユーザーフォーム
こんばんわ。 VBA、ユーザーフォームで、ListBoxか、Comboboxで、セルの値を参照し、そこから1つ選択するようにするにはどういうコードがりますか? Private Sub Userform_Initialize Listbox1.AddItem "700" Listbox1.AddItem "701" ・・・・・ ・・・・・ ・・・・・ End Sub と、やると、ListBoxには反映しますが、列が多すぎて、作成するのに手間が掛かる為、例えば、"700" の値に、Sheets(1)のC2から、C500の値を入れるようなコードはありますか? 宜しくお願いします。
- 締切済み
- Visual Basic
- エクセルVBA ユーザーフォームの終了について
エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)
- ベストアンサー
- オフィス系ソフト
- vba ボタン押すとユーザフォーム、リストをクリア
vba で、実行すると、ユーザフォームとリストBOXに結果を反映するものをつくりましたが、 この反映された結果を、ボタンを押すとクリアにしたいのです。 ユーザフォーム、リストボックスの内容をクリアするには、どのような記述にすればよろしいでしょうか?
- ベストアンサー
- Visual Basic
- ユーザーフォームいろいろについて
いろいろ手探りでVBAでユーザーフォームを作成し コマンドボックスによりテキストボックスを指定のセルへ転記し ユーザーフォームを終了させるという簡単ですがプログラミングをしました。 さらに、下記のことができたらと思ってるのですがどうしたら良いのかわかりません。 1.2種類のユーザーフォームを作成し、ファイルを開くと 選択肢ウィンドウが現れ選択したほうのユーザーフォームが開く 2.チェックボックスまたはラジオボタンで選択された項目を 指定のセルへ○を反映させたい。 以上のことを加えたいのですが、できますでしょうか。 つたない説明ですが御回答の程宜しくお願い致します。
- 締切済み
- Visual Basic
- Excel VBA ユーザーフォームのコンボボックスに表示する値の入力方法
Excel Xを使用して、VBAのユーザフォームにコンボボックスを作りましたが、どうしてもコンボボックス内に表示する値の入力方法が分かりません。 WEBや本などで「これ」と思われるものを実験していますが、どれも表示することができません。 できるだけ詳しく教えていただけませんか? したいことは、 cbocenter というコンボボックスに値を出します。 値は List シートの A2 から A18 に入力済みです。 それと値から選択した値を data シートの J列 に 表示させたいのです。(行の指定はできています) 本当に困ってます。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 【VBA】ユーザーフォームでvbYesNo
VBA ユーザーフォームのコマンドボタンで「はい」「いいえ」を作成し、ダイアログボックスのvbYesNoと同等の事をしたいのですが、どうすればよろしいでしょうか? コマンドボタンを押すと「0」か「1」が返ってくるようにしたのですが、ユーザーフォームだけ表示され、回答を待たず次へ進んでしまいます。 ダイアログボックスのように選択の回答待ちのような状態にするにはどうすればよいかご教授おねがいします。
- 締切済み
- Visual Basic
- VBAのユーザーフォーム・・
教えてください。 ユーザーフォームのテキストボックス・コンボボックスに入力した文字列をコマンドボタンを押したら、セルC1・B1に反映させたいのですが、できません。 このコマンドボタンには他のプログラムも入っており、同時にプログラムを実行したいのですが。
- ベストアンサー
- Visual Basic
お礼
思ったどおりものができました。勉強になりました。 ありがとうございました!