Findメゾットで、探し物を見つけろ
こんにちは。伊川(@naonaoke)です。
以前に紹介しました、For Each~と比較してください。
Excelには、色々な値の見つけ方があります。
その中で、Findメゾットも重要な役割がありますので紹介します。
問題提起
(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司から、下記の依頼を受けました。
・090から始まる電話番号だけ、色をつけてほしい。
どのような方法があるだろうか?
解決策
回答

・Findメゾットで色をつける
Findメゾット
作成手順 その1 データベースを確認する

上の図のように、伊川~伊丹までが、090から始まる番号を使っています。
上の図に関して、VBAを使って色を付けたいと思います。
作成手順 その2 VBAのコード
Sub find()
Dim a As Range
Dim aAddress As String
With Range("A2").CurrentRegion.Resize(, 1).Offset(, 1)
Set a = .find(What:="090")
If Not a Is Nothing Then
aAddress = a.Address
Do
a.Resize(, 2).Offset(, -1).Interior.Color _
= RGB(255, 0, 255)
Set a = .FindNext(a)
Loop While a.Address <> aAddress
End If
End With
End Sub

ここがポイント
ここがポイント

Findメゾットは、セルの番地(住所)を返しますので、Adressを使います。VBAのコードを記載する中で、セルの番地を返すのか、それとも、セルの中身を返すのかで、コードの記載方法が異なります。つまり、オブジェクトがありませんというようなエラーが表示されますので、気をつけましょう。
まとめ
今回のまとめ

Findメゾットの引数はWhat以外にも、まだまだ、あります。TOPを意識して使い分けてください。また、Findメゾットは、複数条件を設定するのが面倒なので、探し物が、複数あるときは、For Eachを利用するほうが、便利です。
今回のサンプルファイルは、No53です。
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。











