レッスン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

リックパソコン京都山科教室

オンラインで受講が出来ます。1時間2500円のワンポイントレッスンです。

0コメント

  • 1000 / 1000