[ホーム] > [VBScript FAQ 一覧] > [複数セルの範囲から文字列を探す]

複数セルの範囲から文字列を探す | VBScript / VBA FAQ






ExcelのVBAにおいて、複数セルの範囲から文字列を探すサンプルプログラムです。

サンプル========================================
Rem 検索対象は A列とする。検索範囲を設定する
maxgyo = Cells(Rows.Count, 1).End(xlUp).Row


With Worksheets(1).Range("a1:a" & maxgyo)
MsgBox "検索範囲:" & "a1:a" & maxgyo

Rem "test"を探す
Set ResultCell = .Find(What:="test", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, MatchByte:=False, SearchFormat:=False)
If Not ResultCell Is Nothing Then

Rem FindNext は全て見つかったら初めに戻るので、初めを覚えておく
firstNo = ResultCell.Address
Do
Set ResultCell = .FindNext(ResultCell)
MsgBox ResultCell.Value & "が見つかりました。場所:" & CStr(ResultCell.Address)

Rem 初めに戻っていないかもチェック
Loop While Not ResultCell Is Nothing And ResultCell.Address <> firstNo
Else
MsgBox "見つかりませんでした。"
End If

End With


.Find のオプション

What :検索対象を指定(これは省略不可)
After :検索開始セルを指定。省略時は range Objectで指定したセル範囲の左上端から検索
LookIn:検索対象の型を指定。 数式は、xlFormulas、値は xlValues など
LookAt:完全一致の場合は xlWhole、部分一致で検索する場合は xlPart
SearchOrder:列方向に検索する場合は xlByColumns 、縦方向に検索する場合は xlByRows
SearchDirection :前方に検索する場合は、xlNext、後方に検索する場合は xlPrevious
MatchCase: 大文字と小文字の区別
MatchByte:半角と全角の区別
SearchFormat:書式を検索するか指定

================================================





[ホーム] > [VBScript FAQ 一覧]





(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。
このページはリンクフリーです。(このページへの直接リンクも可能です。)
雑誌等での紹介は特に連絡は不要です。
Copyright(c) tooljp.com 2007-2019