検索フォーム
縦に並んだデータを検索するのは目の負担になりますね。
そんなとき、簡単に検索できるプログラムをご紹介しましょう。
このプログラムシートにデータをコピーして検索してもよし、
このシートをデータのある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
0コメント