• ベストアンサー

ど素人の非常に初歩的な質問です

 非常に初歩的かつ調べりゃ分かるだろというような質問をします。  コンボボックスが二つあり、そのリストには二つとも同じ数だけ数値を入れておきます。そしてそれを繋げて出力させるにはどうしたらよいでしょうか。  例えば、combo1のリストとcombo2のリストには、1,2,3,4,……という風にいくつか数字を入れておき、そこでcombo1からは5、combo2からは13を選ぶと、テキストボックス(それ以外でも変数とか)にはそれらが組み合わさって、『513』という数字が出力される――という風なものです。  なんとなく分かるような気もするのですが、数時間どう考えても、調べても分からなかったのでここで質問します。  どうすればよいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 フォームにCombo1とCombo2とText1を用意します。 Combo1とCombo2のChangeイベントとClickイベントにそれぞれ次のコードを書きます。   If Combo1.Text <> "" And Combo2.Text <> "" Then     Text1.Text = CStr(Combo1.Text) & CStr(Combo2.Text)   End If Changeイベントはコンボボックスに直接入力した場合、Clickイベントはリストからマウスで選択した場合用です。 では。

ikazuti
質問者

お礼

 ありがとうございます。何か答えを聞いたら簡単なものですね(こんなものに数時間考えた自分はいったい……)。  かなり困っていたので助かりました。

その他の回答 (1)

回答No.2

combo1のテキストとcombo2のテキストを結合するだけです。 原理は簡単な事で文字列と文字列の結合ですね。 ⇒多分数分調べれば出てくると思います…。 combo1.text & combo2.Textで組み合わさりますので、 イベントとしてはChangeもしくはClickで行うのがよいでしょう。

ikazuti
質問者

お礼

 結合ですね……何で考えつかなかったんだろう?  聞いたらこんなものかというようなことが最近多いです。まだ若いのに、すでにボケているのか?  兎に角、ありがとうございました。  

関連するQ&A

  • VBAの配列の質問です

    こんにちは、VBAについての質問です。 配列について3点ほど質問致します。 ・ フォームに貼り付けた、ラベル、テキストボックス、コンボボックスの名前を配列にして、その数自体も変数にして (上記のコントロールの数は当然分かっているのですが敢えて変数名でとりたいのです)、配列のデーターとして入れて やることは可能なのでしょうか。   特に疑問なのは、テキストボックス、コンボボックスには「文字型」、「数字型」が有ります。その場合の配列の型 はどのように宣言してやる のでしょうか。 ・ 仮に上記が可能ならば、特に疑問なのは「数字型」は「数字型」として、セルには記入されるのでしょうか。   それとも、数字の場合には、セルへの入力時とか、セルからの出力時とかに、キャスト等で型変換等の処理が必要になる のでしょうか。 ・ またそれとは別の配列として、テキストボックス、コンボボックスのデーターだけを配列データーとして入れてやるのは 可能なのでしょうか。

  • 複数のコンボボックスの項目の表示/非表示について(VB6.0)

    コンボボックスにて Combo1(0)のリスト "A" "B" "C" Combo1(1)のリスト "A" "B" "C" Combo1(2)のリスト "A" "B" "C" Combo1(3)のリスト  ・  ・  ・ と複数のコンボボックスを用意し、それらのコンボボックスにおいて表示するの内容を全て同じ内容にします。この時、例えばCombo1(0)で"A"が選択されると、他のコンボボックスでは"A"がリストに表示されなくなる、またCombo1(0)にて"A"を選択解除すると他のコンボボックスにおいて再度"A"がリストに表示されるという様に、同じリストを持つ複数のコンボボックスにおいて、重複選択できないように表示/非表示を切り替えたいのですが上手い方法が思いつきません。分かる方がおられましたら御教授宜しくお願いします。

  • ExcelVBA初歩的な質問

    ExcelのVBAについてです。 ネットのサイトなどを参考に勉強しはじめたばかりなので、非常に初歩的な質問かと思いますが、よろしくお願いいたします。 ユーザーフォームにコンボボックスとテキストボックスを用意しました。 それぞれコンボボックスは「combobox1」、テキストボックスは「textbox1」とします。 コンボボックスからプルダウンで項目が選択できるよう Private Sub UserForm_Initialize() With combobox1 .AddItem "りんご" .AddItem "ぶどう" .AddItem "みかん" .AddItem "もも" End With End Sub としました。 各項目が選択されたときに、テキストボックス「textbox1」にはそれぞれの固定値が入るようにしたいです。 (例えばりんごなら1、ぶどうなら3、みかんなら10、ももなら25といったような感じで) Private Sub combobox1_Click() Dim listno As Long listno = combobox1.ListIndex With textbox1 Select Case para Case 0 .Text = 1 Case 1 .Text = 3 Case 2 .Text = 10 Case 3 .Text = 25 End Select End With End Sub としました。 しかし、実行してみると、最初選択したときはtextbox1には数値が入るのですが、その後違う項目を選択してもtextbox1の値は変わりません。 どのようにしたらよいのでしょうか? また、根本的なことなのですが、なぜ .Additem "りんご" ではメソッド(.Additemってメソッドですよね?)ではメソッドと値を並べて記述するのに、 case 0 .text = 1 では =で結ぶのでしょうか?(.textもメソッドですよね?)

  • 初歩的な事ですが・・・・

    ACCESS2000を使ってます。 初歩的な質問ですが、テキストボックスに表示される数字を1ではなく00001と表示させるにはどのように設定したら良いのでしょうか? 初歩的な質問ですいませんが宜しくお願いします。

  • VBAコンボボックスのリスト選択について

    現在、ユーザーフォームを作成していますがコンボボックスでのリスト選択について質問します。 【質問内容】 コンボボックスを3つ作成し、Select Caseでそれぞれのリストを連動させるプログラムを組んでいます。 (1)3つとも選択した後で例えばリスト1を変更しようとするとエラーになってしまいます。リスト以外の文字列も入力できるようにしているつもりですがなぜでしょうか? (2)選択後、シートセルに転送した後、テキストボックスならば「.Text = ""」で一旦空白になりますが、コンボボックスの場合どうしたらよいのでしょうか? シートセルに転送後も選択した内容が残ってしまい結局(1)の事象に基づきエラーになってしまい連続入力ができません。 初歩的な質問で恐縮ですが、よろしくお願いいたします。

  • ACCESS コンボボックス 日付入力VBA

    win10 office365 access365におきまして フォーム Fを開いて そのなかの非連結テキストが コンボボックスになっており そのコンボボックス名をcombo としますとき そこに規定の文字列 これは そのコンボボックスの選択文字列として あるもので たとえば、あかさ この文字列は コンボボックスを開くと 第1列に表示されます 一番左側です を入れたいとき Sub Sample() DoCmd.OpenForm "F", acNormal Form![F]!combo = "あかさ" end sub フォームFは当然開くのですが 非連結コンボボックス comboは 空白のままです Form![F]!combo = "あかさ" ここの部分を Form![F]!combo.column(0) = "あかさ" または Form![F]!combo.column(1) = "あかさ" としても 同様の結果となります ② もうひとつすみませんが テキストボックス コメントテキストに 本日の日付で 4月17日であれば 0417 と入れたいので Forms![F]![コメントテキスト] = Format(Now, mmdd) としますと 2024/04/17 13:02:59 と出てしまいます できるものなら 全角で 0417 と打ち出したいのですが、、 重ねて 恐縮ですが 御教示宜しくお願い致します

  • エクセルVBAについて質問です。

    エクセルVBAについて質問です。 シート1のユーザーフォームにコンボボックスとテキストボックスが各1つずつ、 シート2のA列には1行目から順に「あ」「い」「う」と文字が入っていて、B列には「1」「2」「3」と値が入っています。 コンボボックスのリストにはシート2のA列の文字が選択できる状態にあります。 この状態で、例えばコンボボックスで「い」を選んだら、テキストボックスに自動的に「2」と入る、というように、コンボボックスのリストの中から任意の文字を選択したときに、テキストボックスにB列の値が入るようにするにはどのようにすればいいのでしょうか?よろしくお願いします。

  • 複数のコンボボックスをforなどで扱う方法

    VIsualC++6.0 SDI でプログラムの勉強をしています。 コンボボックス1 コンボボックス2 コンボボックス3   ・   ・ のようなダイアログボックスがあり、 コンボボックスについては、一個一個メンバ変数を割り当て、初期化をしています。 m_combo1.SetCurSel(0); m_combo2.SetCurSel(1); m_combo3.SetCurSel(2); これを、for(int i=0; i < n; i++){ のような繰り返し文を使って書にはどうやったらよいのでしょうか? また他に方法があったり、考え方が根本的に違っているようならご指摘ください。 一先ず、初期化は一個一個書いて終わらせたのですが、 実際の処理では、複数あるコンボボックスのデータを順々に送信する。 送信し終ったらまたコンボボックス1のデータを送信・・・。 と、ストップボタンを押してスレッドを抜けるまで送信し続けると言う処理をさせたいのですが、 初期化のように出来ないため、質問させて頂きました。 よろしくお願いします。

  • VB6 テキストボックスの数値をコンボボックスに反映させるには?

    TextBoxのChangeイベントを使って、 テキストボックスの数値をコンボボックスに反映させる (具体的には数値をコンボボックスのindex数にし、それぞれのindexに アニメ+str(i)としたいです。 しかし、後で書くソースは何故か、コンボボックスが アニメ1 アニメ0 アニメ1 アニメ2 アニメ3 … となってしまいます。 これを アニメ0 アニメ1 アニメ2 アニメ3 … としたいです。どうすればいいんでしょうか? Private Sub Text8_Change() Static p As Integer If Text8.Text = "" Then Exit Sub For i = 0 To p If p = 0 Then GoTo b If Form6.Combo1.NewIndex = -1 Then GoTo b Form6.Combo1.RemoveItem (i) Next i b: For i = 0 To Val(Text8.Text) Form6.Combo1.AddItem "アニメ" + str(i) Next i p = Val(Text8.Text) End Sub

  • コンボボックスの動きがおかしいのですが・・・

    ↑と↓キーを押したら次の項目にジャンプする命令を使っているのですがコンボボックスのところにくるとリストを1つ下げてジャンプしてしまうのですがリストを下げずにジャンプする方法がありましたら教えてください。(0-ドロップダウンコンボにするとcombo1.text = sortの命令でできたのですが、2-ドロップダウンリストに変えてやるとできないので2-ドロップダウンリストで動く命令でお願いします。)

専門家に質問してみよう