目次
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なんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。