高校三年生の合唱祭で何を歌いましたか?

いつも大変お世話になっております。
情けない限りですがどなたかご教示いただけますと幸いです。

ユーザーフォームにリストボックスとテキストボックスとコマンドボタンが設置してあります。
リストボックスに山田一郎、山田二郎、鈴木一郎 とあって、テキストボックスに山田と入力し、コマンドボタンを押した場合、山田一郎、山田二郎 が 一度で選択されるような方法がわかりません。

よろしくお願いいたします。

A 回答 (1件)

こんな感じですね。


リストボックスをマルチセレクトモードにして
項目をひとつずつInStr()で確認し、文字を含んでいたら選択状態にします。


Private Sub UserForm_Initialize()

  ListBox1.AddItem "山田一郎"
  ListBox1.AddItem "山田二郎"
  ListBox1.AddItem "鈴木一郎"
  ListBox1.AddItem "山田太郎"
  ListBox1.AddItem "田中一郎"

  ListBox1.MultiSelect = fmMultiSelectMulti
  TextBox1.Text = "山田"
End Sub


Private Sub CommandButton1_Click()
  Dim i As Long
  If TextBox1.Text = "" Then Exit Sub
  
  For i = 0 To ListBox1.ListCount - 1
    If InStr(ListBox1.List(i), TextBox1.Text) <> 0 Then
      ListBox1.Selected(i) = True
    End If
  Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
思い通りの結果が得られてうれしいです。
最高です!

お礼日時:2018/12/26 19:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報