• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ 抽出について)

エクセルマクロの抽出方法について

このQ&Aのポイント
  • エクセルのマクロを使用して、リストから条件に一致するデータを抽出する方法について説明します。
  • ユーザーフォームのテキストボックスにアルファベットを入力すると、それに該当する氏名がリストボックスに表示される仕組みです。
  • テキストボックスへの入力の途中でもデータの抽出が可能で、入力に応じてリストが絞り込まれます。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です >しかし、全く反応がありません。 もしかしたらマクロを記述するシートを間違えているのかもしれないですね。 今のマクロにブレークポイントを入れて動かしてみたら、処理が一旦停止するはずですが、その状態にならないなら間違えている可能性があります。 VBE画面で「TextBox1を右クリック」→「コードの表示」で表示される画面に記述してありますか?

emperor_ga
質問者

お礼

とてもとても助かりました。基本的な所がわかっていなかったようです。素晴らしいアドバイスでした。SHEET1のマクロの所に書いて、ずっと悩んでおりました。本当にありがとうございました。 ところで、あつかましいと思いますが、その前の質問の2番目の疑問点のヒントをいただけないでしょうか?もしお暇なときがありましたら、よろしくお願いします。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

少しチェックを加えて見ました。また入力された文字は一旦小文字に変換するようにしました。とりあえず動くことは確認しています。 Private Sub TextBox1_Change() Dim idxR As Integer, trgText As String  UserForm1.ListBox1.Clear  trgText = LCase(UserForm1.TextBox1.Text)  With Worksheets(2)   If Len(trgText) > 0 Then    For idxR = 1 To .Cells(1, 1).End(xlDown).Row     If Len(.Cells(idxR, 1).Value) >= Len(trgText) _       And Left(.Cells(idxR, 1).Value, Len(trgText)) = trgText Then         UserForm1.ListBox1.AddItem .Cells(idxR, 2)     End If    Next idxR   End If  End With End Sub

関連するQ&A