- ベストアンサー
コンボボックスの文字によるif文の作成
- エクセルVBAでコンボボックスの選択文字によりif文の動作を変えたい場合の表現方法について教えてください。
- 現在、コンボボックスの選択文字によるif文を作成していますが、うまく動作しません。どのように修正すればいいでしょうか。
- Subルーチン内でのコンボボックスの選択文字によるif文の正しい表現方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォーム上に作成されたコンボボックスが前提になります。 If Controls("ComboBox" & a) = "はい" Then
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17070)
コンボボックスの選択アイテムはいつっでも変えられます。ですからどの時点の状態を取ってほしいのか、人間が知らせます。 普通はそれはクリックイベントです。 Private Sub CommandButton1_Click() MsgBox ComboBox1.Text MsgBox ComboBox2.Text MsgBox ComboBox3.Text End Sub 上記はコントロールツールボックスの方の、コンボボックスをシートに3つ貼り付け、コマンドボタンを貼り付けた例。 ーー 初心者だからか知って知らずか、そのこと(イベント)から質問を始めていないのは知らないのでしょう。コントロールの利用の基本です。 ーー 上記で私が「状態」といったのは、コントロールの(プロパティの)Textだったり、Valueだったりします。質問者は略していて、それでも良い場合(既定値が決まっている場合)が多いが、習い初めはきっちり書くべきです。 ーー それと、ComboBox" & a の(ような)書き方は出来る場合と出来ない場合がありますので、十分勉強してから使うこと。一般の変数名とは 違うと思ったほうが良い。オブジェクト名ですから。 この辺の変化をさせてオブジェクトを次々変化させてコードの経済化を図りたい場合は、できるかどうかやってみて、出来ない場合は別に質問すること。 ーー (1)またフォームにコンボを貼り付けるか (2)シート上か (A)フォームか(B)コントロールツールボックスのコンボか書いてないのは そういう意識が足りないことを示します。微妙に・大幅に違うかもしれません。 ーー 複数のコントロールを扱っている例 http://www.moug.net/tech/exvba/0040034.htm