Excel(エクセル)のマクロで検索を行う方法をご紹介!

Excel(エクセル)のマクロで検索を行う方法をご紹介! Excel(エクセル)

業務中に調べることの多い、Excel,Word,PowerPointなどのノウハウを発信していきます!

Biz Magic編集部をフォローする

Excel(エクセル)Findメソッドとは

皆さんExcelのFindメソッドとは何かご存じでしょうか?Find メソッドは、Excel テーブルのセル範囲内で特定のデータを含むセルを検索します。

検索には、指定したデータがすべて一致する場合に検索する完全一致と、データの一部が一致する場合に検索する部分一致の 2 種類があります。Findメソッドでは、引数を指定することで全文一致、部分一致の条件を設定できます。引数には以下の種類があります。

引数定数説明
What検索するデータを指定
After検索を開始するセルを指定
LookInxlFormulas検索対象を数式に指定
LookInxlValues検索対象を値に指定
LookInxlComents検索対象をコメント文に指定
LookAtxlPart一部が一致するセルを検索
LookAtxlWhole全部が一致するセルを検索
SearchOrderxlByRows検索方向を列で指定
SearchOrderxlByColumns検索方向を行で指定
SearchDirectionxlNext順方向で検索(デフォルトの設定)
SearchDirectionxlPrevious逆方向で検索
MatchCaseTRUE大文字と小文字を区別
MatchCaseFALSE区別しない(デフォルトの設定)

今回の記事ではExcelのマクロで検索を行う方法をご紹介していきます。

Excel(エクセル)マクロで検索を行う方法

では、早速ですがExcelのマクロで検索を行う方法をご紹介していきます。先ほどもご紹介した通りマクロで文字を検索するためにはFindメソッドというメソッドを使用します。

使用方法は以下の通りです。

  1. まず、Dimで変数の宣言をします。
  2. As ~ で変数の型を指定します。
  3. 次に検索する範囲のセル、検索するワード、検索する方法を設定しています。
  4. 最後に検索するワードに一致したときのメッセージを記述しています。
Sub 完全一致()
 Dim myRange As Range
 Dim myObj As Range
 Dim keyWord As String

 Set myRange = Range("A1:A3")
 keyWord = "Excel"
 Set myObj = myRange.Find(keyWord, LookAt:=xlWhole)

 If myObj Is Nothing Then
  MsgBox "'" & keyWord & "'はありませんでした"
 Else
  MsgBox "'" & keyWord & "'は" & myObj.Row & "行目にあります"
 End If
End Sub

これをそのまま流すことで指定したワードを検索することができます。

これをそのまま流すことで指定したワードを検索することができます

上記は完全一致でしたが部分一致で検索したい場合は以下のようにFindメソッドの引数を変更します。

Sub 部分一致()
 Dim myRange As Range
 Dim myObj As Range
 Dim keyWord As String

 Set myRange = Range("A1:A3")
 keyWord = "Excel"
 Set myObj = myRange.Find(keyWord, LookAt:=xlPart)

 If myObj Is Nothing Then
  MsgBox "'" & keyWord & "'はありませんでした"
 Else
  MsgBox "'" & keyWord & "'は" & myObj.Row & "行目にあります"
 End If
End Sub

今回はマクロで文字を検索する方法を初心者向けに解説しました。今回のような機能であればマクロでやらずともExcelの文字検索で十分ですがもう少し手を加えることで便利なマクロにすることも可能です。興味がある方はぜひ調べてみてください。

Excelの操作方法は実際に手を動かし、身につけていきましょう

今の時代、様々な仕事でExcelを使用することがあるでしょう。今回はExcelのマクロで文字を検索する方法についてご紹介しました。このような機能を使いこなすことができれば仕事にも役に立つので、実際に手を動かし、覚えていきましょう。

WordやExcelなどのOfficeツールでは便利なショートカットキーなどがたくさんあるのでよく使う作業に関してはショートカットキーを調べてみるのも効率よく仕事を進める上で大切なことなのでこれから実践してみましょう。

コメント

タイトルとURLをコピーしました