[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAListViewの初期表示について−−続き』(純丸)
↓の質問の続きです [[20240717143555]]VBAListViewの初期表示について
通りすがり助六さんのおかげでListViewの選択状態は解除出来たのですが、 見た目は未選択(東京・神奈川・千葉いずれも反転していない)にもかかわらず、ListView1.SelectedItem は東京が返ります。
未選択の状態を判定したいのですが、上記の理由により If ListView1.SelectedItem = "" という構文では判定出来ません。
「全アイテムをループしてすべての Selected が Falseであれば未選択」という方法とは別に If ListView1.○○○ = "" などのように判定する方法(プロパティ)はありますか?
調べてもわからなかったので、あれば教えていただけると助かります。 よろしくお願いします。あれば
< 使用 Excel:unknown、使用 OS:unknown >
ユーザーフォームに「ListView」と「CommandButtonを2つ」 配置して試してみて下さい。
'選択インデックス(未選択は「-1」を返す)
Private Sub CommandButton1_Click()
Dim ret&
If ListView1.SelectedItem Is Nothing Then
ret = -1
Else
ret = ListView1.SelectedItem.index
End If
MsgBox ret
End Sub
'選択クリアボタン
Private Sub CommandButton2_Click()
Call SelectedAllClear
End Sub
Private Sub UserForm_Initialize()
With Me.ListView1
.View = lvwSmallIcon
.ListItems.Add.Text = "東京"
.ListItems.Add.Text = "神奈川"
.ListItems.Add.Text = "千葉"
Call SelectedAllClear
End With
End Sub
Sub SelectedAllClear()
Dim itm As Object
For Each itm In ListView1.ListItems
itm.Selected = False
Next itm
ListView1.SelectedItem = Nothing
End Sub
(まる2021) 2024/07/18(木) 14:02:09
ListView1.SelectedItem = Nothing が必要だったんですね。 うまくいきました。 まる2021さん、ありがとうございました。 (純丸) 2024/07/18(木) 14:31:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.