[ホーム] >
[VBScript 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 一覧]