Excel : FindNextメソッドで複数検索する

FindNextメソッドを使うと、1回だけでなく次々に範囲内を検索することができます。

使い方は、Findメソッド実行後、FindNextメソッドを実行します。
ループ内で実行することにより、次々と検索させることができます。


Homeに戻る > Excelでよく使うフレーズへ > 検索方法へ

実行画面

男性と女性の都道府県別平均寿命の表から、テキストボックスに入力された文字を検索します。
「FindNextで検索」ボタンで、B10:F56の範囲から複数検索します。

見つからない場合は、「見つかりませんでした。」と表示されます。
見つかった場合は、検索できた個数と見つかった位置の行列番号が表示されます。

FindNextの使用方法


プログラムソース

'FindNextで検索
Private Sub CommandButton1_Click()
    Dim tRange As Range
    Dim fAddress As String
    Dim s1 As String
    Dim nCount As Integer
    
    s1 = TextBox1.Value
    If s1 = "" Then
        MsgBox "検索名を入力してください。"
        Exit Sub
    End If
        
    Set tRange = Worksheets("Sheet1").Range("B10:F56").Find(s1)

    If tRange Is Nothing Then
        MsgBox "見つかりませんでした。"
    Else
        
        '最初に見つかったセル位置を保存
        fAddress = tRange.Address
        nCount = 0
        
        'ループでFindNextを使う
        Do
            If Not tRange Is Nothing Then
                nCount = nCount + 1
                MsgBox nCount & "個目: " & tRange.Address & " に見つかりました"
            End If
            Set tRange = Worksheets("Sheet1").Range("B10:F56").FindNext(tRange)
        Loop While Not tRange Is Nothing And tRange.Address <> fAddress
        
    End If
End Sub



Homeに戻る > Excelでよく使うフレーズへ > 検索方法へ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved