
お世話になります。
やりたいことはとても一般的なことです。
以下のような名前と、IDが対になったデータがあります
名前 ID
----------
りんご 1
ばなな 2
いちご 3
コンボボックスには名前だけを表示し、りんごを選択したら「1」を取得したいのです。
普通に
ComboBox.AddItem "りんご"
ComboBox.AddItem "ばなな"
ComboBox.AddItem "いちご"
とやるとIDとの関連がなくなってしまい、りんごを選択しても「1」と判断することができません。
お知恵をお貸しください。
No.6ベストアンサー
- 回答日時:
#5です。
その「お礼」部分のご質問に関し
http://www.seraphyware.jp/dev/tips/vb.tips.array …
をご覧になれば参考になりませんか。
参考URL:http://www.seraphyware.jp/dev/tips/vb.tips.array …
ご回答ありがとうございます、Dimで定義した配列の初期化を動的に行うことは出来そうですね、しかしPublicで宣言したものを後で動的に器の大きさを変更する方法は無のかも知れません。
私のような問題にぶちあたっている人は多そうな気がするのですが。。。
何度も回答していただきありがとうございます。
No.5
- 回答日時:
#3です。
易しすぎると思いました。
「これらの情報はDB(Access)より取得するのです」をxとして、
t(1)=x:Sheet1.ComboBox1.AddItem "りんご"
MsgBox t(ComboBox1.ListIndex)
でxを出せばどうですか。
ご回答ありがとうございます。
この方法で出来ました! ただ t()をPublic 宣言
して、さらに、配列の個数をレコードカウントで指定したいのです。
とりあえず今は Public t(30) As Integer
というように「30」固定でコーディングしているのですが
やはり「30」固定ではなく変数を入れたいのですが、これについてのアドバイスがありましたらよろしくお願いします。
No.4
- 回答日時:
もっと簡単にできませんか?
「コントロールツールボックス」のコンボボックスではなく、「フォーム」のコンボボックスを使えば、リストの上からの順番を返してきますから、その数値でIDをオフセットすれば簡単に取得できます。
ぜんぜん外していたらすみません。
No.3
- 回答日時:
下記でどうでしょうか。
(1)シート1にコンボボックスを貼りつける。
(2)標準モジュールに
Sub test01()
Dim t(10)
t(1) = "りんご": Sheet1.ComboBox1.AddItem t(1)
t(2) = "みかん": Sheet1.ComboBox1.AddItem t(2)
t(3) = "なし": Sheet1.ComboBox1.AddItem t(3)
End Sub
を作り、実行する。
(3)ComboBox1のChangeイベントに
Private Sub ComboBox1_Change()
MsgBox ComboBox1.ListIndex + 1
End Sub
を作ります。
(4)シートのコンボボックスのアイテムをクリックすると対応した数字が表示できます。
ご回答ありがとうございます。
りんご = 1というのは固定情報ではありません。
これらの情報はDB(Access)より取得するのです。
説明が不足しており申し訳ありませんでした。
No.2
- 回答日時:
#1です。
修正版です。A1~A3に名前、B1~B3に取得する番号が入力されているとして。
以下のコードをVBAに記述してください。
「ThisWordbook」に
Public Sub Choice()
Select Case Sheet1.ComboBox1.Text
Case Sheet1.Range("A1")
Sheet1.Range("C1") = Sheet1.Range("B1")
Case Sheet1.Range("A2")
Sheet1.Range("C1") = Sheet1.Range("B2")
Case Sheet1.Range("A3")
Sheet1.Range("C1") = Sheet1.Range("B3")
End Select
End Sub
「Sheet1」に
Private Sub ComboBox1_Change()
Choice
End Sub
「Module1」に
Public Sub Choice()
Select Case Sheet1.ComboBox1.Text
Case Sheet1.Range("A1")
Sheet1.Range("C1") = Sheet1.Range("B1")
Case Sheet1.Range("A2")
Sheet1.Range("C1") = Sheet1.Range("B2")
Case Sheet1.Range("A3")
Sheet1.Range("C1") = Sheet1.Range("B3")
End Select
End Sub
これでいかがでしょうか?
No.1
- 回答日時:
結果を表示するセルを「B1」として、
以下のコードをVBAに記述してください。
「ThisWordbook」に
Private Sub Workbook_Open()
Sheet1.ComboBox1.AddItem "りんご"
Sheet1.ComboBox1.AddItem "バナナ"
Sheet1.ComboBox1.AddItem "イチゴ"
End Sub
「Sheet1」に
Private Sub ComboBox1_Change()
Choice
End Sub
「Module1」に
Public Sub Choice()
Select Case Sheet1.ComboBox1.Text
Case "りんご"
Sheet1.Range("B1") = 1
Case "バナナ"
Sheet1.Range("B1") = 2
Case "イチゴ"
Sheet1.Range("B1") = 3
End Select
End Sub
ご回答ありがとうございます。
文字列比較をするのは、最悪の場合にしたいのです。
あと、りんご,1というのは決め打ちにはできません、
これらの情報はDB(Access)より取得するのです。
説明が不足しており申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Visual Basic(VBA) リストポックスについて 2 2022/11/05 20:48
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- Visual Basic(VBA) VBAユーザーフォームの複数のコンボボックスについて。 1 2022/04/25 08:13
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- Visual Basic(VBA) リストポックスへの抽出方法 1 2022/08/10 17:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
7文字以上のフルーツをできるだ...
-
Excel MATCH関数で検索範囲内...
-
中黒「・」か読点「、」か?
-
EXCELでB1に指定文字が入った場...
-
煮物こんにゃくの冷凍保存について
-
「であり」と「であって」の使...
-
4歳の子供がさくらんぼを種ご...
-
スーパーで買った1つ300円の梨...
-
何という名前の虫か教えてください
-
ラズベリーの種の抜き方を教え...
-
10~20代に通じやすい和文通話表
-
さくらんぼに似ているが、さく...
-
自家製の味の良くないサクラン...
-
梶井基次郎の檸檬
-
10年前のにんにく漬け、食べて...
-
すいかのたべごろ
-
エクセルで数字を入力したら文...
-
Excelのコンボボックスに2次元...
-
職場で隣の人についてです。飲...
-
高校の数学の問題(連立方等式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
煮物こんにゃくの冷凍保存について
-
7文字以上のフルーツをできるだ...
-
スポンジケーキってどのくらい...
-
中黒「・」か読点「、」か?
-
10年前のにんにく漬け、食べて...
-
「であり」と「であって」の使...
-
Excel MATCH関数で検索範囲内...
-
スーパーで買った1つ300円の梨...
-
ライム(果物)を漢字になおす...
-
いちごを1パック買ったのです...
-
EXCELでB1に指定文字が入った場...
-
筍の上の部分が緑色になってい...
-
北海道では、見かけないもの
-
ラズベリーの種の抜き方を教え...
-
しらたきと吐き気
-
エクセルで数字を入力したら文...
-
外はふわふわで(柔らかい)、...
-
ローリエって何のために入れる...
-
教えてください!!
-
離乳食にローリエ
おすすめ情報