Range.Find メソッド (Excel)Range.Find method (Excel)

セル範囲内で特定の情報を検索します。Finds specific information in a range.

注意

複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか?Interested in developing solutions that extend the Office experience across multiple platforms? 新しい Office アドイン モデルを参照してください。Check out the new Office Add-ins model. Office アドインには、VSTO アドインおよびソリューションと比較して、小さな設置面積があります。 HTML5、JavaScript、CSS3、XML など、ほぼすべての web プログラミングテクノロジを使用して構築できます。Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

構文Syntax

expression.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)expression.Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

expressionRange オブジェクトを表す変数です。expression A variable that represents a Range object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
WhatWhat 必須Required バリアント型Variant 検索するデータです。The data to search for. 指定できるのは、文字列、または任意の Microsoft Excel のデータ型です。Can be a string or any Microsoft Excel data type.
AfterAfter 省略可能Optional バリアント型Variant このセルの後から検索を開始します。The cell after which you want the search to begin. これは、ユーザー インターフェイスから検索が実行されたときにアクティブなセルの場所に対応しています。This corresponds to the position of the active cell when a search is done from the user interface.

After は範囲内の 1 つのセルにする必要があることに注意してください。Notice that After must be a single cell in the range. このセルの後から検索が開始されるため、メソッドによって範囲内の他のセルがすべて検索され、このセルに戻るまで、指定されたセルは検索されません。Remember that the search begins after this cell; the specified cell isn't searched until the method wraps back around to this cell.

この引数を指定しない場合は、範囲の左上端のセルの後から検索が開始されます。If you do not specify this argument, the search starts after the cell in the upper-left corner of the range.
LookInLookIn 省略可能Optional VariantVariant 使用できるのは、XlFindLookIn 定数: xlFormulasxlValuesxlComments あるいは xlCommentsThreaded のいずれかです。Can be one of the following XlFindLookIn constants: xlFormulas, xlValues, or xlComments.
LookAtLookAt 省略可能Optional VariantVariant 次の**XlLookAt** 定数:xlWholeあるいはxlPartのいずれかになります 。Can be one of the following XlLookAt constants: xlWhole or xlPart.
SearchOrderSearchOrder 省略可能Optional VariantVariant 次の**XlSearchOrder** 定数:xlByRowsあるいはxlByColumnsのいずれかになります 。Can be one of the following XlSearchOrder constants: xlByRows or xlByColumns.
SearchDirectionSearchDirection 省略可能Optional XlSearchDirectionXlSearchDirection 検索の方向を指定します。The search direction.
MatchCaseMatchCase 省略可能Optional VariantVariant 大文字と小文字を区別するには、True を指定します。True to make the search case-sensitive. 既定値は False です。The default value is False.
MatchByteMatchByte 省略可能Optional バリアント型Variant 2 バイトの言語サポートが選択またはインストールされている場合にのみ使用されます。Used only if you have selected or installed double-byte language support. 2 バイト文字が 2 バイト文字とだけ一致するようにする場合は、True を指定します。True to have double-byte characters match only double-byte characters. 2 バイト文字が同等の 1 バイト文字とも一致するようにする場合は、False を指定します。False to have double-byte characters match their single-byte equivalents.
SearchFormatSearchFormat 省略可能Optional バリアント型 (Variant)Variant 検索の書式を指定します。The search format.

戻り値Return value

検索範囲の先頭のセルを表す Range オブジェクト。A Range object that represents the first cell where that information is found.

解説Remarks

一致するデータが見つからなかった場合、このメソッドは Nothing を返します。This method returns Nothing if no match is found. Find メソッドは、選択範囲またはアクティブ セルに影響を与えません。The Find method does not affect the selection or the active cell.

LookInLookAtSearchOrder、および MatchByte の設定は、このメソッドを使用するたびに保存されます。The settings for LookIn, LookAt, SearchOrder, and MatchByte are saved each time you use this method. 次にこのメソッドを呼び出すときにこれらの引数の値を指定しない場合、保存された値が使用されます。If you do not specify values for these arguments the next time you call the method, the saved values are used. これらの引数を設定すると、[検索] ダイアログ ボックスの設定が変更され、また、[検索] ダイアログ ボックスで設定を変更すると、引数を省略した場合に使用される保存された値が変更されます。Setting these arguments changes the settings in the Find dialog box, and changing the settings in the Find dialog box changes the saved values that are used if you omit the arguments. 問題を回避するには、このメソッドを使用するたびに、これらの引数を明示的に設定します。To avoid problems, set these arguments explicitly each time you use this method.

検索を繰り返すには、 FindNext および FindPrevious メソッドを使用できます。You can use the FindNext and FindPrevious methods to repeat the search.

検索が指定された検索範囲の最後に達すると、範囲の最初に戻ります。When the search reaches the end of the specified search range, it wraps around to the beginning of the range. 最初に戻ったときに検索を停止するには、最初に見つかったセルの位置を保存しておき、セルが見つかるたびに、その位置と保存しておいた位置を比較します。To stop a search when this wraparound occurs, save the address of the first found cell, and then test each successive found-cell address against this saved address.

より複雑なパターンに一致するセルを見つけるには、For Each...Next ステートメントを Like演算子と共に使用します。To find cells that match more complicated patterns, use a For Each...Next statement with the Like operator. たとえば、次のコードでは、範囲 A1:C5 のすべてのセルで、フォント名の先頭に "Cour" の文字が使用されるセルが検索されます。For example, the following code searches for all cells in the range A1:C5 that use a font whose name starts with the letters Cour. Microsoft Excel で一致が見つかったら、フォントが "Times New Roman" に変更されます。When Microsoft Excel finds a match, it changes the font to Times New Roman.

For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next`

Example

この例は、シート 1 の範囲 A1:A500 で、値 2 が含まれているすべてのセルを検索し、その値を 5 に変更します。This example finds all cells in the range A1:A500 on worksheet one that contain the value 2, and changes it to 5.

With Worksheets(1).Range("a1:a500") 
    Set c = .Find(2, lookin:=xlValues) 
    If Not c Is Nothing Then 
        firstAddress = c.Address 
        Do 
            c.Value = 5 
            Set c = .FindNext(c) 
        Loop While Not c Is Nothing
    End If 
End With

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.