Findメソッド,Like演算子を使った検索:Excel VBA入門 |
| スポンサードリンク | |
| Findメソッド | Like演算子 | Replaceメソッド |
| 引数 | 定数 | 内容 |
| What | 検索するデータを指定 | |
| After | 省略可:検索を開始するセルを指定。 指定したセル自体は、検索が範囲全体を一度検索して戻ってくるまで検索されません。 省略すると左上端から開始します。 |
|
| LookIn | 省略可:情報の種類を指定。 | |
| xlFormulas | 数式 | |
| xlValues | 値 | |
| xlComents | コメント文 | |
| LookAt | 省略可 | |
| xlPart | 一部が一致するセルを検索 | |
| xlWhole | 全てが一致するセルを検索 | |
| SearchOrder | 省略可:検索の方向を指定 | |
| xlByRows | 検索方向を行にします | |
| xlByColumns | 検索方向を列にします | |
| SearchDirection | 省略可:検索の順序を指定 | |
| xlNext | 順方向 | |
| xlPrevious | 逆方向 | |
| MatchCase | 省略可:大文字と小文字を区別する。 | |
| True | 区別する | |
| False | 区別しない | |
| MatchByte | 省略可:半角と全角を区別する | |
| True | 区別する | |
| False | 区別しない | |
| SearchFormat | 省略可:検索に書式を含める。 | |
| True | 含める | |
| False | 含めない |
| Sub Find_01() Dim c As Object Dim myKey As String, fAddress As String myKey = "鹿児島県" With Worksheets(1).Range("a1:a30") Set c = .Find(What:=myKey, LookIn:=xlValues, lookat:=xlWhole, _ SearchOrder:=xlByColumns, MatchByte:=False) If Not c Is Nothing Then fAddress = c.Address Do c.Interior.ColorIndex = 4 '明るい緑 Set c = .FindNext(c) If c.Address = fAddress Then Exit Do Loop End If End With End Sub |
| Sub Find_02() Dim c As Object Dim myKey As String, fAddress As String myKey = "崎" With Worksheets(1).Range("a1:a30") Set c = .Find(What:=myKey, LookIn:=xlValues, lookat:=xlPart, _ SearchOrder:=xlByColumns, MatchByte:=False) If Not c Is Nothing Then fAddress = c.Address Do c.Interior.ColorIndex = 4 '明るい緑 Set c = .FindNext(c) If c.Address = fAddress Then Exit Do Loop End If End With End Sub |
| Sub Find_03() Dim c As Object Dim r As Range Dim myKey As String For Each r In Range("A2:A4") myKey = Left(r.Value, 5) Set c = Range("E2:E9").Find(myKey, LookAt:=xlWhole) If c Is Nothing Then MsgBox myKey & "は見つかりませんでした。" Else r.Offset(0, 1).Value = c.Offset(0, 1).Value End If Next r End Sub |
| 文字パターン | 引数stringの中の一致する文字 |
| ? | 任意の1文字 |
| * | 任意の数の文字 |
| # | 任意の1文字の数字 (0-9) |
| [charlist] | 文字リスト(charlist)に指定した文字の中の任意の1文字 |
| [!charlist] | 文字リスト(charlist)に指定した文字以外の任意の1文字 |
| Sub Find_01() Dim c As Object For Each c In Worksheets(1).Range("a1:a30") If c.Value Like "鹿児島県" Then c.Interior.ColorIndex = 3 '赤 End If Next c End Sub |
| Sub Like_02() Dim c As Object For Each c In Worksheets(1).Range("a1:a30") If c.Value Like "*崎*" Then c.Interior.ColorIndex = 3 '赤 End If Next c End Sub |
| Sub Like_03() Dim c As Object For Each c In Worksheets(1).Range("a1:a30") If c.Phonetic.Text Like "[か-こ]*" Then c.Interior.ColorIndex = 3 '赤 End If Next c End Sub |
| Sub Find_02() Dim c As Object With Worksheets("Sheet1").Range("C1:C30") .Replace What:="福岡県", Replacement:="鹿児島県", _ SearchOrder:=xlByColumns, MatchByte:=False End With End Sub |
スポンサードリンク
PageViewCounter
Since2006/2/27