Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7344 / 13645 ツリー ←次へ | 前へ→

【39709】Listboxで・・ Tamurasine 06/6/29(木) 14:00 質問[未読]
【39712】Re:Listboxで・・ ハト 06/6/29(木) 14:57 回答[未読]
【39717】ありがとうございます! Tamurasine 06/6/29(木) 16:14 お礼[未読]

【39709】Listboxで・・
質問  Tamurasine  - 06/6/29(木) 14:00 -

引用なし
パスワード
   空の状態のリストボックスに

ListBox1.AddItem "項目1"

ListBox1.List(0, 1) = "項目2"
ListBox1.List(0, 2) = "項目3"
ListBox1.List(0, 3) = "項目4"
ListBox1.List(0, 4) = "項目5"
ListBox1.List(0, 5) = "項目6"
ListBox1.List(0, 6) = "項目7"
ListBox1.List(0, 7) = "項目8"
ListBox1.List(0, 8) = "項目9"
ListBox1.List(0, 9) = "項目10"
ListBox1.List(0, 10) = "項目11"
ListBox1.List(0, 11) = "項目12"

というように入力したいのですが・・
ListBox1.List(0, 9) = "項目10"
までなら正常に動作するのですがそれ以降を加えるとエラーになってしまいます。

なぜでしょうか?よろしくお願いします

【39712】Re:Listboxで・・
回答  ハト  - 06/6/29(木) 14:57 -

引用なし
パスワード
   おはようございます

▼Tamurasine さん:
>空の状態のリストボックスに
>
>ListBox1.AddItem "項目1"
>
>ListBox1.List(0, 1) = "項目2"
>ListBox1.List(0, 2) = "項目3"
>ListBox1.List(0, 3) = "項目4"
>ListBox1.List(0, 4) = "項目5"
>ListBox1.List(0, 5) = "項目6"
>ListBox1.List(0, 6) = "項目7"
>ListBox1.List(0, 7) = "項目8"
>ListBox1.List(0, 8) = "項目9"
>ListBox1.List(0, 9) = "項目10"
>ListBox1.List(0, 10) = "項目11"
>ListBox1.List(0, 11) = "項目12"
>
>というように入力したいのですが・・
>ListBox1.List(0, 9) = "項目10"
>までなら正常に動作するのですがそれ以降を加えるとエラーになってしまいます。
>
>なぜでしょうか?よろしくお願いします

ヘルプを見ると
-----------------------------------------------------
ColumnCount プロパティ

解説

たとえば、社員名簿のフォームで、そのリスト ボックス (ListBox) コントロールの ColumnCount プロパティに 3 を指定して、1 列目には姓を、2 列目には名前を、3 列目には社員コードを表示するものとします。

ColumnCount プロパティに 0 を設定すると、列はすべて表示されなくなります。-1 を設定すると、表示可能な列がすべて表示されます。非連結データ ソースの場合は、最大 10 列 (0 〜 9) までの制限があります。
-----------------------------------------------------

これが原因だと思われます

ですので配列を使って

Dim LTmp(0, 12)
  
LTmp(0, 0) = "項目1"
LTmp(0, 1) = "項目2"
LTmp(0, 2) = "項目3"
LTmp(0, 3) = "項目4"
LTmp(0, 4) = "項目5"
LTmp(0, 5) = "項目6"
LTmp(0, 6) = "項目7"
LTmp(0, 7) = "項目8"
LTmp(0, 8) = "項目9"
LTmp(0, 9) = "項目10"
LTmp(0, 10) = "項目11"
LTmp(0, 11) = "項目12"
  
ListBox1.List() = LTmp

のようにすればエラーにならず、処理できます

【39717】ありがとうございます!
お礼  Tamurasine  - 06/6/29(木) 16:14 -

引用なし
パスワード
   できました!ありがとうございます!

7344 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free