VBA講座 レッスン1 ユーザーフォームの作成
検索フォーム
縦に並んだデータを検索するのは目の負担になりますね。
そんなとき、簡単に検索できるプログラムをご紹介しましょう。
このプログラムシートにデータをコピーして検索してもよし、
このシートをデータのあるBookに追加しても使用できるようにしています。
■フォームの作り方から解説します。
■VBAエディタからユーザーフォームを挿入します。
フォームの大きさを余り大きくならないように作成します。
フォームやコントロールにはそれぞれプロパティがありますのでCaptionを変更して表示名を変更しましょう。
このシートに検索ボタンを配置します。ボタンを押すと検索ボックスが表示されます。
検索する列番号を検索列に入れます。初期値は2にしています。
変更する場合はTextBoxのTextプロパティの値を変更します。
検索文字を入力し、検索ボタンを押すと検索されます。
最終行が1000になっていますので、データ件数が1000を超える場合はWsEndを変更してください。
プログラムはシートのコマンドボタンにこのコードを入力
■【注意】UserForm3の名前は作成した名前に変更してください。
Private Sub CommandButton1_Click() UserForm3.Show 0 End Sub フォームプロシージャーには下記のコードを入れます。 【注意】TextBox3とTextBox4の名前は作成した名前に変更してください。 Private Sub CommandButton1_Click() Dim WB As Workbook Dim WS As Worksheet Dim nCol As Long Dim WsEnd As Long Set WB = ActiveWorkbook Set WS = ActiveWorkbook.ActiveSheet nCol = TextBox4 WsEnd = 1000 If TextBox3 <> "" Then lenStr = Len(TextBox3) For i = 2 To WsEnd MyPos1 = InStr(WS.Cells(i, nCol), TextBox3) If MyPos1 > 0 Then ActiveWindow.ScrollRow = i msg = MsgBox("続けますか?", 1) If msg = 2 Then Exit Sub End If Next i MsgBox ("見つかりません") Exit Sub End If End Sub