2023年6月11日日曜日

【VBScript】エクセルFindメソッドで特定の文字列を含むセルを探す

event_note6月 11, 2023

Findメソッド

概要:

Findメソッドは、Excelのワークシートや範囲内で特定の値を検索するためのメソッドです。検索結果として、最初に一致したセルを返します。

構文:

objWorksheetは 検索を行うワークシートオブジェクトです。
rangeは 検索を行う範囲のアドレスを指定します。

objWorksheet.Range(range).Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

引数:

  • What: 検索する値を指定します。
  • After (オプション): 検索を開始するセルの位置を指定します。省略すると、検索は範囲の先頭から開始されます。
  • LookIn (オプション): 検索対象とする要素を指定します。省略すると、検索はセルの値に対して行われます。
  • LookAt (オプション): 検索方法を指定します。省略すると、検索は部分一致で行われます。
  • SearchOrder (オプション): 検索順序を指定します。省略すると、検索は行優先で行われます。
  • SearchDirection (オプション): 検索方向を指定します。省略すると、検索は下方向に行われます。
  • MatchCase (オプション): 大文字と小文字を区別するかどうかを指定します。省略すると、大文字と小文字は区別されません。
  • MatchByte (オプション): バイト単位で一致するかどうかを指定します。省略すると、バイト単位で一致します。
  • SearchFormat (オプション): 検索の書式を指定します。省略すると、書式は無視されます。

返り値:

Findメソッドは、検索結果として最初に一致したセルを返します。一致するセルが見つからなかった場合はNothingを返します。

使用例

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Path\to\Workbook.xlsx")
Set objWorksheet = objWorkbook.Worksheets(1)

' A1からA10の範囲で値が"Apple"と一致するセルを検索します
Set objResult = objWorksheet.Range("A1:A10").Find("Apple")

If Not objResult Is Nothing Then
    MsgBox "一致するセルが見つかりました: " & objResult