• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初期化済み配列変数)

VBでの初期化済み配列変数の定義と値の参照方法

このQ&Aのポイント
  • VBでの初期化済み配列変数の定義方法と値の参照方法を教えてください。
  • VBでの初期化済み配列変数の定義方法や値の参照方法についてわかりません。どのようにすれば良いですか?
  • VBでの初期化済み配列変数の定義や値の参照方法について教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

こんな回答で良いのでしょうか。 VBでは、1次元配列に限り、関数でArrayがあります。VBAでも使えます。 Youbi=Array("日曜","火曜","水曜","木曜","金曜","土曜") のように使います。 A=youbi(2)でAに文字列の水曜が入ります。 二次元のデータを扱うときは,次元数が2,3次元程度なら 下記で凌げます。文字列、数値をまぜても差し支えない。 Youbix=Array("日曜",6,"月曜",6,"火曜",5,"水曜",6,"木曜", _ 6,"金曜",6,"土曜",5) で     日曜      6(出席者6人とか色々の意味あり)     月曜      6     火曜      5      水曜      6      ・      ・     土曜      5 の2次元表が定義できます。 使うときは     For i=0 to 11 step 2        you=youbix(i)          ninnzu=youbix(i+1)       (処理 略)     Next i で使えます。  とび先(ブランチ先)を配列にしたいときは、不勉強で 経験ありません。 誰かご存知の方答えてください。 コントロール配列と言うのも別にあります。 VBでは区切りセミコロンがないので、行を次ぎに変えて 続けるときは、スペース+アンダーバーを使います。      以 上

akym2
質問者

お礼

ご回答ありがとうございます。 先にも書きましたが、VBビギナーのため、ご回答内容を理解、検討するのに時間がかかり、お礼が遅くなってしまいました。 申し訳ありません。 ご回答を参考に私なりに試行錯誤した結果、一応目的は達せられました。 以下にその過程を記述します。 質問ではユーザー定義型Shouhinの配列を用意することを考えていましたが、Array関数の引数にユーザー定義型データを与えることはVBの仕様で不可能でした。 最終的にはリストボックスに表示するので、特にユーザー定義型である必要はありませんので、"鉛筆 40"、"ボールペン 100"のような文字列の配列を作成すればよいかと考えました。 しかし、"_"による行連結は最大10までしかできませんでした。 (質問中のサンプルはフィールド数もデータ数も少ないのですが、作成しようとしているシステムはリストボックスに通常数百個の項目が並ぶもので、プロトタイプでもスクロールが行える程度の数(20個ぐらい)のレコードが必要です。) 最後に、ご回答の最後の方で触れられているコントロール配列を以下のように使ってみて一応目的は達せられましたが、imogasiさんの想定されていたのはこのようなものでしょうか? --- 1. 商品を表示するためのリストボックス(lstShouhinListView)とは別に、データを保持するためだけの、非表示リストボックスを商品カテゴリの数だけ用意し、これらをコントロール配列(lstShouhinListData())とする。 (商品のリストの内容はフォームデザイナのプロパティウィンドウで設定する。) 2. コンボボックスにてカテゴリが選択されたら、選択されたカテゴリのデータ保持用ListBoxの内容を、商品一覧表示用のリストボックスへコピーする。 Private Sub cmbCategory_Click()   Dim lb As ListBox   Dim i As Integer   Set lb = lstShouhinListData(cmbCategory.ListIndex)   lstShouhinListView.Clear   For i = 0 To lb.ListCount     lstShouhinListView.AddItem (lb.List(i))   Next End Sub

関連するQ&A