1.検索
シート内の文字列の検索にはFindメソッドを使用します。引数にて検索条件を指定します。
| メソッド | 引数 | 定数 | 内容 |
| Find | What | | 検索するデータを指定 |
| After | | 検索を開始するセルを指定。省略すると左上端から開始する |
| LookIn | xlFormulas | 検索対象の種類を指定。数式 |
| xlValues | 値 |
| xlComents | コメント文 |
| LookAt | xlPart | 一部が一致するセルを検索 |
| xlWhole | 全てが一致するセルを検索 |
| SearchOrder | xlByRows | 検索の方向を指定。列 |
| xlByColumns | 検索の方向を指定。行 |
| SearchDirection | xlNext | 検索の順序を指定。順方向(規定値) |
| xlPrevious | 検索の順序を指定。逆方向 |
| MatchCase | True | 大文字と小文字を区別する。 |
| False | 区別しない(規定値) |
| MatchByte | True | 半角と全角を区別する |
| False | 区別しない(規定値) |
下記の例では
"Sheet1"に文字列"りんご"が存在するか検索し、存在した場合。その位置を表示します。
Sub Search()
Dim lngYLine As Long
Dim intXLine As Integer
Dim Obj As Object
Set Obj = Worksheets("Sheet1").Cells.Find("りんご")
If Obj Is Nothing Then
MsgBox "りんごは見つかりませんでした。"
Else
lngYLine = Worksheets("Sheet1").Cells.Find("りんご").Row
intXLine = Worksheets("Sheet1").Cells.Find("りんご").Column
MsgBox "りんごは、" + CStr(lngYLine) + "行目の" _
+ CStr(intXLine) + "列目にあります"
End If
End Sub
下記の例では "Sheet1"に文字列"りんご"が存在するか検索し、全てが一致する場合にその位置を表示します。
Sub Search()
Dim lngYLine As Long
Dim intXLine As Integer
Dim Obj As Object
Set Obj = Worksheets("Sheet1").Cells.Find("りんご", LookAt:=xlWhole)
If Obj Is Nothing Then
MsgBox "りんごは見つかりませんでした。"
Else
lngYLine = Worksheets("Sheet1").Cells.Find("りんご", LookAt:=xlWhole).Row
intXLine = Worksheets("Sheet1").Cells.Find("りんご", LookAt:=xlWhole).Column
MsgBox "りんごは、" + CStr(lngYLine) + "行目の" _
+ CStr(intXLine) + "列目にあります"
End If
End Sub
|