pickup

目次

Findメゾットで、探し物を見つけろ

こんにちは。伊川(@naonaoke)です。

以前に紹介しました、For Each~と比較してください。

Excelには、色々な値の見つけ方があります。

その中で、Findメゾットも重要な役割がありますので紹介します。

問題提起

 

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司から、下記の依頼を受けました。

・090から始まる電話番号だけ、色をつけてほしい。

どのような方法があるだろうか?

解決策

回答
sesuo2.jpg
・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


ここがポイント

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

 

スポンサーリンク

まとめ

今回のまとめ
sesuko3.jpg

Findメゾットの引数はWhat以外にも、まだまだ、あります。
TOPを意識して使い分けてください。また、Findメゾットは、複数条件を設定するのが面倒なので、探し物が、複数あるときは、For Eachを利用するほうが、便利です。

今回のサンプルファイルは、No53です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事