Excel VBA質問箱 IV

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

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


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

【7617】リストボックス内の選択した行を選択していない状態に 123 03/9/10(水) 13:12 質問
【7619】Re:リストボックス内の選択した行を選択して... INA 03/9/10(水) 13:28 回答
【7622】Re:リストボックス内の選択した行を選択して... 123 03/9/10(水) 13:57 質問
【7627】Re:リストボックス内の選択した行を選択して... INA 03/9/10(水) 16:40 回答
【7644】Re:リストボックス内の選択した行を選択して... 123 03/9/11(木) 10:56 お礼
【7645】Re:リストボックス内の選択した行を選択して... 123 03/9/11(木) 10:59 発言

【7617】リストボックス内の選択した行を選択して...
質問  123  - 03/9/10(水) 13:12 -

引用なし
パスワード
   皆さん こんにちは 123です。

リストボックスの関連質問です。
リストボックスのMultiSelectをMultiにして複数選択できるようにし、
その選択した情報を基に処理をしていますが、

(ここからが質問)
その後、リストボックス内において、選択したもの(色反転)を
選択していない状態にもどしたいのですが、可能でしょうか?

ご存知の方 宜しくお願い致します。

【7619】Re:リストボックス内の選択した行を選択し...
回答  INA  - 03/9/10(水) 13:28 -

引用なし
パスワード
   >(ここからが質問)
>その後、リストボックス内において、選択したもの(色反転)を
>選択していない状態にもどしたいのですが、可能でしょうか?

ListBox1.Selected(i) = False

で出来ますよ。

【7622】Re:リストボックス内の選択した行を選択し...
質問  123  - 03/9/10(水) 13:57 -

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

そうそうにご回答ありがとうございました。

基本的なことだったんですね。お手数をお掛けいたしました。

ついでに関連なんですが、

ListBox1.Selected(ListBox1.ListIndex)=False

For i = 0 To ListIndex - 1
If ListBox1.Selected(i) = False Then Exit Sub
Next i

MsgBox "選択されていますよ"

としても、表面上は選択されていないように(色反転していない)なっているのですが、
実際は選択されているようなのです。
また、リストボックスを表示した直後は、当然 見た目は選択されていないのですが、
上記の Exit Sub にならないのです。
見た目も実際も選択されていない状態は、無理なのでしょうか?

【7627】Re:リストボックス内の選択した行を選択し...
回答  INA  - 03/9/10(水) 16:40 -

引用なし
パスワード
   ListIndex と Selected(i) は、ともに 0〜 なので、 
For i = 0 To ListIndex - 1  → For i = 0 To ListIndex
で良いのでは?

【7644】Re:リストボックス内の選択した行を選択し...
お礼  123  - 03/9/11(木) 10:56 -

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

毎度ありがとうございます。

ListIndex では間違いですよね。

ようやく出来ました。

For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then Exit For
If i = L1.ListCount - 1 Then Exit Sub
Next i

MsgBox "選択されています。"
L1.Selected(i) = False

こんな感じです。

ありがとうございました。

【7645】Re:リストボックス内の選択した行を選択し...
発言  123  - 03/9/11(木) 10:59 -

引用なし
パスワード
   ListBoxを L1 にしてました。

For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then Exit For
If i = ListBox1.ListCount - 1 Then Exit Sub
Next i

MsgBox "選択されています。"
ListBox1.Selected(i) = False

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