Excel VBA質問箱 IV

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

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


4414 / 13644 ツリー ←次へ | 前へ→

【56799】リストボックスから複数のデータを取得したいのですが・・・ 江戸Guy 08/7/6(日) 0:15 質問[未読]
【56800】Re:リストボックスから複数のデータを取得... 08/7/6(日) 1:58 回答[未読]
【56807】Re:リストボックスから複数のデータを取得... 江戸Guy 08/7/6(日) 8:32 お礼[未読]
【56808】Re:リストボックスから複数のデータを取得... kanabun 08/7/6(日) 11:30 発言[未読]

【56799】リストボックスから複数のデータを取得し...
質問  江戸Guy  - 08/7/6(日) 0:15 -

引用なし
パスワード
   題名にも書きましたがどなたか教えてください。

リストボックスから複数の値を選びます。
コントロールを押しながらこのリストの中から

トヨタ
日産
ホンダ
三菱
スバル

トヨタとホンダを選ぶとします。
そこで
セル名“トヨタ”とセル名”ホンダ”の値を
TRUEにしたいのですが、どうすればいいでしょうか?

【56800】Re:リストボックスから複数のデータを取...
回答    - 08/7/6(日) 1:58 -

引用なし
パスワード
   まずは、ListBoxのMultiSelectプロパティをTrueに設定します。
そうすることで、複数選択ができるListBoxになります。

どのアイテムが選ばれているかを確かめるためには、
ListBoxのSelectedプロパティの値を取得します。
江戸Guyさんの例の場合、選択項目が全部で5つありますが、
Selected(0)からSelected(4)で取得できます。
(1)から(5)ではないことに注意してください。

SelectedプロパティはBoolean型の値を持つプロパティで、
選択されていればTrue、選択されていなければFalseが
返されます。

例えば、UserForm1のListBox1に、5つの選択項目がある場合、
それぞれの項目が選択されているかどうか取得するコードは
次のようになります。


  Dim toyota As Boolean
  Dim nissan As Boolean
  Dim honda As Boolean
  Dim mitsubishi As Boolean
  Dim subaru As Boolean

  With UserForm1.ListBox1
    toyota = .Selected(0)
    nissan = .Selected(1)
    honda = .Selected(2)
    mitsubishi = .Selected(3)
    subaru = .Selected(4)
  End With


▼江戸Guy さん:
>題名にも書きましたがどなたか教えてください。
>
>リストボックスから複数の値を選びます。
>コントロールを押しながらこのリストの中から
>
>トヨタ
>日産
>ホンダ
>三菱
>スバル
>
>トヨタとホンダを選ぶとします。
>そこで
>セル名“トヨタ”とセル名”ホンダ”の値を
>TRUEにしたいのですが、どうすればいいでしょうか?

【56807】Re:リストボックスから複数のデータを取...
お礼  江戸Guy  - 08/7/6(日) 8:32 -

引用なし
パスワード
   yさん

ご丁寧なお答え、大変参考になりました。
早速試してみます!
ありがとうにございました!!

以上


▼y さん:
>まずは、ListBoxのMultiSelectプロパティをTrueに設定します。
>そうすることで、複数選択ができるListBoxになります。
>
>どのアイテムが選ばれているかを確かめるためには、
>ListBoxのSelectedプロパティの値を取得します。
>江戸Guyさんの例の場合、選択項目が全部で5つありますが、
>Selected(0)からSelected(4)で取得できます。
>(1)から(5)ではないことに注意してください。
>
>SelectedプロパティはBoolean型の値を持つプロパティで、
>選択されていればTrue、選択されていなければFalseが
>返されます。
>
>例えば、UserForm1のListBox1に、5つの選択項目がある場合、
>それぞれの項目が選択されているかどうか取得するコードは
>次のようになります。
>
>
>  Dim toyota As Boolean
>  Dim nissan As Boolean
>  Dim honda As Boolean
>  Dim mitsubishi As Boolean
>  Dim subaru As Boolean
>
>  With UserForm1.ListBox1
>    toyota = .Selected(0)
>    nissan = .Selected(1)
>    honda = .Selected(2)
>    mitsubishi = .Selected(3)
>    subaru = .Selected(4)
>  End With
>
>
>▼江戸Guy さん:
>>題名にも書きましたがどなたか教えてください。
>>
>>リストボックスから複数の値を選びます。
>>コントロールを押しながらこのリストの中から
>>
>>トヨタ
>>日産
>>ホンダ
>>三菱
>>スバル
>>
>>トヨタとホンダを選ぶとします。
>>そこで
>>セル名“トヨタ”とセル名”ホンダ”の値を
>>TRUEにしたいのですが、どうすればいいでしょうか?

【56808】Re:リストボックスから複数のデータを取...
発言  kanabun  - 08/7/6(日) 11:30 -

引用なし
パスワード
   ▼江戸Guy さん:
こんにちは。

> トヨタとホンダを選ぶとします。
> そこで
> セル名“トヨタ”とセル名”ホンダ”の値を
> TRUEにしたいのですが

この文で、
> セル名“トヨタ”とセル名”ホンダ”
セル名とは どこかのセルに「トヨタ」とか「ホンダ」とか
名前定義してあるということですか?

Private Sub 選択されたリストに対応するセルをTRUEにするボタン_Click()
 With ListBox1
  for i = 0 to .ListCount - 1
    if .Selected(i) Then
     Range(.List(i)).Value = True
    end if
  next
End With
End Sub

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