Listbox(リストボックス)を検索する方法



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

Listbox(リストボックス)を検索する方法

どうも、taka(@takabou63)です(^^♪

今回は【Listbox(リストボックス)を検索する方法】ということで、リストボックス上に表示されている物の中から特定のものを検索する方法をご紹介していきます!(^^)!

数千件などを表示することもあるListboxで一からチェックするのは大変ですからこういう機能があると一気に利便性が増しますよね!(^^)!

今回はテキストボックスの文字列をもとにリストボックスの中から検索するコードです(^^♪

用意するフォーム

用意するコントロール

今回は用意するのはシンプルでテキストボックスとリストボックスを一つずつです(^^♪

  1. TextBoxコントロール・・・1つ
  2. Listboxコントロール・・・1つ

リストボックスを検索するコード

今回はセルA1~B10にデータがあることを想定しています( ^ω^ )下記のテキストボックスに文字列を記入してエンターを押すと実行するという流れです。

一応コードを指定するように一番左の列を検索するようになっていますが、2列目などで検索したい場合は【If ListBox1.List(li) = TextBox1.Text Then】のListBox1.List(li)をListBox1.List(li, 1)に変更してください( ^ω^ )※インデックスが「0」から始まるので2列目でも「1」で指定します2を指定するとないはずの3列目を指定してしまいエラーになります。

'リストボックスの内容を検索するコード
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'↑エンターイベントだとクリックした時にも反応してしまうのでKeyDownイベントにしています。
 If KeyCode <> 13 Then Exit Sub '←エンターキー以外では動作しないように設定

    Dim li As Long
    For li = 0 To ListBox1.ListCount - 1         'ListCountで登録されているデータ数を取得
    If ListBox1.List(li) = TextBox1.Text Then   '配列のデータ上にTextBox1に入力されたデータと同じものがあるか判定
    ListBox1.ListIndex = li                      'ListIndexで選択位置を変数liに指定
    Exit Sub
    End If
    Next li
    '↓見つからなかった場合
    MsgBox "見つかりませんでした"
    
End Sub

 

 

 

 

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です