• ベストアンサー

VB6でLISTBOXの複数列

こんばんは。VB6でListBoxを使うとき、AddItemでListBox内に追加できるのですが、右に更に列を増やすにはどうしたらいいのでしょうか? VBAでしたら ListBox1.ColumnCount = 2 ListBox1.BoundColumn = 2 ListBox1.AddItem Range("A1") ListBox1.List(1, 1) = Range("B1") こんな感じにできていたのですが、VB6だとよく分かりません。 初心者なのでできれば簡単に教えてもらいたいのですが。 よろしくお願いいたします。

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

  • ベストアンサー
  • s-uzen
  • ベストアンサー率65% (2051/3118)
回答No.2

VB6のリストボックスの場合 1行に複数項目とする場合は、各項目を1行に連結して追加、取り出す場合は各項目を切り出す操作が必要です。 各項目連結はスペースを使うか、下記のような方法などで。 複数の項目を指定位置に揃えて表示 http://hanatyan.sakura.ne.jp/vbhlp/listcont.htm 複数項目を扱いたい場合は、下記のコントロールを使うとできます。 ツールボックスにコントロールを追加設定して使用。 MSFlexGridの場合 http://hanatyan.sakura.ne.jp/vbhlp/MSFlexNO1.htm リストビューの場合(検索のみ) http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GWYH_jaJP275JP275&q=VB6+ListView  

takedono
質問者

お礼

ありがとうございます。とりあえずスペースを入れて表示するようにしました。選択はSplit関数で何とかなりそうです。

その他の回答 (1)

  • ESE_SE
  • ベストアンサー率34% (157/458)
回答No.1

(恐らくExcelの)VBAのリストボックスはExcelの機能を流用して拡張されていたのでしょう。 VBのListBoxコントロールは基本的に1次元配列しか格納できません。 ただ、Text以外にItemDataという項目も設定可能なので、内部データとしてなら同じ行にもう1件データを追加することが可能です。 また無理矢理データを複数突っ込みたいのであれば・・・ 数十個のスペースをセパレータ代わりにして連結、 データを使用する際にはこれを適当なところでSubStringで切り出しTrimをかけてデータ抽出するくらいの小技を使えば何とか・・・というところですね。

takedono
質問者

お礼

ありがとうございます。エクセルのVBAでできることはVBならできると思っていました。間違えでしたね。ありがとうございます。

関連するQ&A