![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
先日コンボボックス連動についての質問をしたものです
今回も金曜夕方完成まででどうしても分からない部分がありお知恵をお借りしたく質問させていただきます(聞ける方はいるのですがどうしても直接見てもらえる状況でなく口頭になってしまうので上手く聞けず説明できず理解できずの状態です)
前回同様条件は、VB.NET(言語:VB)でAccessは利用なら最低限
Access中心の開発やマクロ、Excel等は使用しないということでお願いします
private sub form4_load(bybal~)handle form4_load
dim strdata() as string = {"年会費","月会費"}
listbox2.items.addrange(strdata)
listbox3.items.addrange(strdata)
select case form2.combobox1.text
case "東北"
label9.text = "東北"(関東とコンボボックス1で出たら関東がラベルに表示できるようしたいのです)
end select
上記はリストボックスに格納するために記載、listbox2と3は1と4にそれぞれボタンクリックがあればデータを写す作業をします
問題は下で、Form4にLabel9があるのですが別のForm2のコンボボックス
で選ばれたデータをLavel9に反映させたいのです
同様Form2のコンボボックス2(1で選ばれたものの中でさらに選択するという設定になっています)で選ばれたデータをLavel10に反映させたいのですが上手くいきません
ここはこうしたほうがいい、こう書いたらどうか?みたいなのがありましたらよろしくお願いいたします
VBはあまり経験が無く分からないことばかりなので、分かりやすくお願いできますでしょうか?
No.3ベストアンサー
- 回答日時:
Form2とForm4の実体(インスタンス)の関係がどのようになっているのでしょう
Class Form2
End Class
Class Form4
End Class
といった宣言の場合 Form2のインスタンスから Form4のインスタンスは参照する術がありません
Form4から Form2が参照出来ればいいなら
Class Form4
Public frm2 as Form2
Private objFrm2 as Form2
Public WriteOnly Property myForm2() as Form2
Set( ByVal value as Form2)
objFrm2 = value
End Set
End Property
End Class
といった具合に Form4側で Form2を参照出来る仕組みを作ります
Form4を作成する際に
dim frm4 As New Form4
frm4.Form2 = frm2
または
frm4.myFrm2 = frm2
といった具合に設定します ... この場合 frm2がForm2のインスタンスです
こうしておけば Form4側では
frm2.ComboBox1.Text または objFrm2.ComboBox1.Text などと参照出来ます
インスタンスとクラス名の区別をしましょう
この回答への補足
インスタンスは
class form2
end class
とForm2もForm4も同じようになっておりました
また最初の宣言でPrivateになっていたところをPublicにし、説明を参考にし一度配列をdim~で宣言してListから配列に、配列からTextにしたところ上手くいきました
まだ複数リストで選ばれた時テキストボックスに結果をリストで選ばれた個数返す(改行無しで)ことが出来てないのですが、for文(For~Next?)で選ばれた個数分ループさせるのですが、Nextは条件の処理が1回終わったらそのまま外に出てしまうという処理なのでしょうか?それとも条件の処理が全て終わるまで外に出ないのでしょうか?
後者の場合、現在複数個選んでも処理1回終わるとFor文の外にでて作業終了してしまい上手く出ないのです…2個選んだら結果2個返すというようにしたいのですがどのようにしたら良いのでしょうか?
No.2
- 回答日時:
UserForm1.Label1.Caption = UserForm1.ComboBox1.Value
コンボボックスの値とラベルの表示はこんな感じで設定します
一々UserFormから書くのが、間違えないコツです
ComboBox1の選択に従ってComboBox2に表示するリストを切り替えるのは、ComboBox1_SelectedIndexChangedのイベントにSelectcaseで読み込むデータを選択するようにする
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Select Case (ComboBox1.ValueMember)
Case "関東"
ComboBox2.DataSource = hogehoge
Case "東北"
ComboBox2.DataSource = higehige
End Select
End Sub
でいかがでしょう?
あと、言っても詮無い事だけど、誰も判りにくく答えてるつもりはないんじゃないかな?
そんなつもりじゃないんだろうけど、ちょっと鼻に衝くセリフだったんで一応
明日までだね
がんばれ!
この回答への補足
ありがとうございます、参考にさせていただき少し変更を交え何とか表示が出来るようになりました
分かりにくく答えてるつもりは無いと思っております
私自身、常駐先でVBできる方に電話で聞いていたのですが口頭説明(文章だけ~言葉だけなど)では理解できなかったので分かりやすくと記載させていただきました
不快にさせてしまったのならば申し訳ありませんでした
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
C# インスタンスの破棄
-
private static という変数の修飾
-
C#において、同じインスタンス...
-
VB.NET getとsetの概念がわかり...
-
「インスタンス」の意味をわか...
-
フォームの存在をチェックする方法
-
C# 自作クラスのキャストについて
-
JAVA タートルグラフィック ...
-
C#でオブジェクトの有無を取得する
-
エクセル(複数インスタンス)...
-
SQLを連続発行する時の正しい(?...
-
変数の参照でエラーが出てしま...
-
クラス内の初期化の簡略方法と...
-
オブジェクト参照がオブジェク...
-
【java】コンストラクタの処理...
-
擬似コード
-
String a = "a"; と String b =...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
private static という変数の修飾
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
文字列を日付に変換でParseExce...
-
String a = "a"; と String b =...
-
「インスタンス」の意味をわか...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
SQLを連続発行する時の正しい(?...
-
javaのクラスの作り方、エラー...
-
オブジェクト参照がオブジェク...
-
他のファイルの変数参照
-
C#「オブジェクト参照が必要で...
-
エクセル(複数インスタンス)...
-
VB6.0で、DLLを動的に参照したい
おすすめ情報