失礼いたします、コンボボックスを連動させるプログラムを書いているのですがうまく連動しません、よろしければお知恵をお貸しくださいませ
コードを書くにあたりの条件は、開発はVisual Basic 2005のVisual Basic
データベースから呼び出す場合ならAccess 2003を使用(今現在は使用しないで開発しています)
Access内でコンボボックスを、Excelでコンボボックスをなどはしません…今回はVBでコンボボックスを連動させたい
今回ちょっと公に出来ない箇所があり記号で伏せさせていただきますが、記号は日本語が入ります
Form1でload(ロードってこれであってましたっけ?)部分に以下を記載
dim strdata as string = {"●●","●●","●●"}
(すみません、あと一文あったのですがちょっと思い出せないので)
それで連動するcomobox2には以下を記載
dim strdata as string = {"●●","●●"}
dim i as integer
select case strdata(i)
case 0
combobox2.item.addrange("●△ ×")
combobox2.item.addrange("●△ ×")
combobox2.item.addrange("●△ ×")
case 1
combobox2.item.addrange("●△ ×")
combobox2.item.addrange("●△ ×")
combobox2.item.addrange("●△ ×")
となり、combobox1で最初の●●が選ばれればcombobox2のcase0を表示させるようにしたいと思っていますが上手く表示が出ません
今週中に仕上げなければいけないので昨日今日と色々調べてみたのですが、VBAやAccess・Excel関係が殆どでVBのが見つからずAccessやExcelのを見ても上手くいかなかったのと、解説が良く分からなかったので、分かりやすく解説をお願いします
No.2ベストアンサー
- 回答日時:
これは、Select Case の使い方自体の問題ですね
コンボボックスの連動はそのあとの話です
普通しませんが例として
Select Case "B"
Case "A"
MsgBox "Aです"
Case "B"
MsgBox "Bです"
Case Else
MsgBox "どちらでもありません"
End Select
つまり、Select Caseで指定した内容と一致したCaseに書かれた処理を行います
Select Caseは
Select Case Ifの左側
Case Ifの右側
と思えば良いんです
示されたコードの場合
Select Case strdata(i) を使うなら、Case "●●" ですね
case 0 で判定したい場合は、Select Case i です
また、
回答にあった Case conbobox1.text("●●") としたければ
Select Case conbobox1.text("●●") です
応用技として
Select Case True
Case strdata(i) = "●●"
MsgBox "Aです"
Case strdata(i) = "△△"
MsgBox "Bです"
Case Else
MsgBox "どちらでもありません"
End Select
とやって「複数のIf文の中から一つの条件に一致すれば他は不要で優先順位がある場合」と言う書き方もできます
これは
一致したCase以外実行されない
先に一致したCaseが優先
を利用してます
一応参考まで
>Select Case strdata(i) を使うなら、Case "●●" ですね
>case 0 で判定したい場合は、Select Case i です
>また、
>回答にあった Case conbobox1.text("●●") としたければ
>Select Case conbobox1.text("●●") です
上記2点を応用して記載したところ無事動きました
>一致したCase以外実行されない
>先に一致したCaseが優先
今回これが起きてしまうとデモ版とはいえ提出できないのですが、上記のもので何とか以上の点を克服できました
ご回答ありがとうございました
No.1
- 回答日時:
select case strdata(i)
の意味がおわかりでしょうか?
strdataには{"●●","●●","●●"}をセットしていますよね?
ということは
case 0やcase 1にはマッチすることはあり得ないので連動しないのだと思います。
これがcase "●●"のように書いている場合は式が評価され動作すると思います。
早速ありがとうございます
seclect case strdataはstrdataの中身のどれかが選ばれ
それで最初の●●が選ばれたら、1番目のcaseを実行させるということでよいでしょうか
caseに書くということですが、その際conbobox1.text("●●")のように書かなくていいのでしょうか?
case 0ではなくじかにcase "●●"と記載してしまってよいのでしょうか?
これがコンボボックス3個になって3個とも連動させるときも同様にして書けばよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Excel(エクセル) Excel コンボボックス バックカラー 1 2023/02/18 08:06
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) 先ほど、回答者様によって教えていただいたのですがどうしたらいいか分かりません。 ユーザーフォーム上に 2 2023/02/21 22:25
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
VB2005 TextBoxに何も入力しない場合のエラー
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
【VB】コンボボックスにデータベースから取り出した値を入れたい
Visual Basic(VBA)
-
5
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
6
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
7
VBでコンボボックスとテキストボックスの連係
Visual Basic(VBA)
-
8
テキストボックスの中身をリセット(クリア)したい
Visual Basic(VBA)
-
9
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
10
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
11
コンボボックスでドロップダウンリストにしたときに・・・・
Visual Basic(VBA)
-
12
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
13
複数SQL発行について
Visual Basic(VBA)
-
14
同じコンボボックスを二つ以上作る方法
Visual Basic(VBA)
-
15
他フォームのクリックイベント取得
Visual Basic(VBA)
-
16
値を返さないコード パス
Visual Basic(VBA)
-
17
VB.net 重複チェックがしたいです
Visual Basic(VBA)
-
18
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで特定の文字が入った行をコ...
-
Excelのマクロについて教えてく...
-
VBAのエラー表示の対処法について
-
VBA 別ブックからコピペしたい...
-
Excelのマクロについて教えてく...
-
Excel 範囲指定スクショについ...
-
【ExcelVBA】インデックスが有...
-
VBAのループ処理について教えて...
-
エクセルでCDOを使ったメール送...
-
EXCEL vbaでシート上に配置した...
-
Excel_VBAについて質疑です。(...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
修正依頼:【VBA】 結合セルに...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
Web画面の文字をVB6で取得したい
-
[VB.net] ボタン(Flat)のEnable...
-
エクセルのVBAコードについて教...
-
エクセルvbaの対象セルに色をつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二点の座標から距離や角度を求...
-
VB.NET)コンボボックスの連動に...
-
VBA for next
-
for文の質問です。
-
エクセル・VBAでテキストボック...
-
複数条件のオートフィルタ(VBA)
-
検索結果の指定列をリストボッ...
-
C#を勉強していて、指定したフ...
-
codbo2を買うか迷ってますbo2が...
-
VC++ (byte)(col & 0xFF) の意味
-
エクセルのVBAでの7×7の魔方陣...
-
VBA ユーザーフォーム
-
4変数の非線形方程式のときかた
-
線の太さ
-
matlabで価格時系列
-
ドラゴン曲線を再帰で書く
-
一行飛ばしで合計
-
このプログラムがうまく作動し...
-
Linuxのプログラミング
-
VBA public変数はどのようなこ...
おすすめ情報