
エクセルVBAで聞きたい事があります。
コンボボックスで選択された文字により動作を変えたいのですが
どのような表現にすればいいでしょうか?
ちなみに今下のような文章をうっているのですがうまく機動してません。
Sub sf(a As Integer, b As Integer)
If "ComboBox" & a = "はい" Then★
'
'
Range("E1").select←ここの内容は関係ないです。
ElseIf "ComboBox" & a = "いいえ" Then★
'
'
Range("E3").select←ここの内容は関係ないです。
End If
★部をどのようにすればうまく実行できるのでしょうか。
No.2
- 回答日時:
コンボボックスの選択アイテムはいつっでも変えられます。
ですからどの時点の状態を取ってほしいのか、人間が知らせます。普通はそれはクリックイベントです。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA コンボボックスで選んだ値を取得するには
その他(Microsoft Office)
-
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
-
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
6
UserForm1.Showでエラーになります。
工学
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
9
VBAコンボボックスで選択した値をシートに転記したい
Visual Basic(VBA)
-
10
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
11
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
12
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
13
Excel VBA コンボボックスで空白を削除
その他(Microsoft Office)
-
14
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
15
VBAのフォームでTextBoxがいっぱいある時
Access(アクセス)
-
16
コンボボックスの値判定
Visual Basic(VBA)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
VLOOKUP関数とテキストボックスの連携
Excel(エクセル)
-
19
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
20
VBA テキストボックスに3桁カンマ表示させたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
'ckbl' コントロールは作成され...
-
EXCELでactivexコントロールを...
-
Excel VBA で Richtextboxを使...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
Groupboxの配下のコントロール...
-
コントロールを移動できない
-
ユーザーフォームで動的(Me.Con...
-
VBでアニメーションGIFを表示す...
-
DLL不要のソフト製作方法につい...
-
ActiveXコントロールはどこへい...
-
なかなか、Zオーダーが理解で...
-
OCXって何ですか?
-
ExcelVBAでListViewが使用できない
-
カレンダーコントロールの使用...
-
VB6.0 コマンドボタンを追加し...
-
DataGridView、1セルに複数コ...
-
フォーカスのあるコントロール
-
Excelコマンドボタン名を変数に...
-
VBAのフォームでTextBoxがいっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでオプションボタン...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
EXCELでactivexコントロールを...
-
VBA ユーザーフォームの Keypre...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
チェックボックスをオンにした...
-
ユーザーフォームで動的(Me.Con...
-
chr関数の呼び出しで「プロ...
-
全てのオブジェクトのプロパテ...
-
vb.netで画面のコントロールId...
-
間違えて配置してしまったコン...
-
Excel VBA で Richtextboxを使...
-
VBAのフォームでTextBoxがいっ...
-
OCXって何ですか?
-
C# Form上に配置されたコントロ...
-
エクセル コントロールツール...
-
変数をコントロール型で使用す...
-
Groupboxの配下のコントロール...
おすすめ情報