次の方法で共有


NamedRange.Find メソッド

定義

NamedRange コントロールで特定の情報を検索し、その情報が見つかった最初のセルを表す Range オブジェクトを返します。

public Microsoft.Office.Interop.Excel.Range Find (object What, object After, object LookIn, object LookAt, object SearchOrder, Microsoft.Office.Interop.Excel.XlSearchDirection SearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, object MatchCase, object MatchByte, object SearchFormat);
abstract member Find : obj * obj * obj * obj * obj * Microsoft.Office.Interop.Excel.XlSearchDirection * obj * obj * obj -> Microsoft.Office.Interop.Excel.Range
Public Function Find (What As Object, Optional After As Object, Optional LookIn As Object, Optional LookAt As Object, Optional SearchOrder As Object, Optional SearchDirection As XlSearchDirection = Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, Optional MatchCase As Object, Optional MatchByte As Object, Optional SearchFormat As Object) As Range

パラメーター

What
Object

検索するデータです。 文字列、または Microsoft Office Excel の任意のデータ型を使用できます。

After
Object

検索位置を示すセルです。このセルの次から検索が開始されます。 これは、ユーザー インターフェイスから検索を行う場合のアクティブ セルの位置に相当します。 範囲内の After 単一のセルである必要があることに注意してください。 検索はこのセルの次から開始されることに注意してください。指定したセル自体が検索されるのは、メソッドがラップしてそのセルに戻ってきたときです。 この引数を指定しなかった場合、検索は範囲の左上隅のセルの後から開始されます。

LookIn
Object

情報の種類です。

LookAt
Object

XlLookAt 値 (xlWhole または xlPart) のどちらかです。

SearchOrder
Object

XlSearchOrder 値 (xlByRows または xlByColumns) のどちらかです。

SearchDirection
XlSearchDirection

検索の方向。または のいずれかの値 xlNextxlPreviousXlSearchDirection指定できます。

MatchCase
Object

検索で大文字と小文字を区別する場合は true を指定します。 既定値は false です。

MatchByte
Object

2 バイト言語サポートを選択またはインストールした場合のみ使用します。 2 バイト文字を 2 バイト文字にのみ一致させる場合は true。2 バイト文字を、等価な 1 バイト文字に一致させる場合は false

SearchFormat
Object

検索形式です。

戻り値

情報が見つかった最初のセルを表す Range オブジェクトを返します。

次のコード例では、 メソッドを Find 使用して、コントロール内の値 Seashell を持つ最初のセルを NamedRange 検索します。 次に、 メソッドと FindPrevious メソッドをFindNext使用して、値Seashellを持つ次のセルを検索し、元のセルに戻ります。 最後に、 メソッドを Cut 使用して、最初のセルの内容を値 Seashell で切り取り、セル B1 に貼り付けます。

この例は、ドキュメント レベルのカスタマイズ用です。

private void FindValue()
{
    this.Range["A1"].Value2 = "Barnacle";
    this.Range["A2"].Value2 = "Seashell";
    this.Range["A3"].Value2 = "Star Fish";
    this.Range["A4"].Value2 = "Seashell";
    this.Range["A5"].Value2 = "Clam Shell";

    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A5"],
        "namedRange1");

    // Find the first occurrence of "Seashell".
    Excel.Range Range1 = namedRange1.Find("Seashell",
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
        false);

    // Find the next occurrence of "Seashell".
    Range1 = namedRange1.FindNext(Range1);

    // Return to the first occurrence of "Seashell".
    Range1 = namedRange1.FindPrevious(Range1);

    // Cut the range with the first "Seashell" and copy it to cell B1.
    Microsoft.Office.Tools.Excel.NamedRange namedRange2 =
        this.Controls.AddNamedRange(Range1, "namedRange2");
    namedRange2.Cut(this.Range["B1"]);
}
Private Sub FindValue()
    Me.Range("A1").Value2 = "Barnacle"
    Me.Range("A2").Value2 = "Seashell"
    Me.Range("A3").Value2 = "Star Fish"
    Me.Range("A4").Value2 = "Seashell"
    Me.Range("A5").Value2 = "Clam Shell"

    Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
        = Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
        "namedRange1")

    ' Find the first occurrence of "Seashell".
    Dim Range1 As Excel.Range = namedRange1.Find("Seashell", , , _
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, _
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, _
        False, False, )

    ' Find the next occurrence of "Seashell".
    Range1 = namedRange1.FindNext(Range1)

    ' Return to the first occurrence of "Seashell".
    Range1 = namedRange1.FindPrevious(Range1)

    ' Cut the range with the first "Seashell" and copy it to cell B1.
    Dim namedRange2 As Microsoft.Office.Tools.Excel.NamedRange _
        = Me.Controls.AddNamedRange(Range1, "namedRange2")
    namedRange2.Cut(Me.Range("B1"))
End Sub

注釈

一致するもの null が見つからない場合、このメソッドは を返します。

このメソッドは、選択範囲またはアクティブ セルには影響しません。

LookAtSearchOrderMatchByteLookIn設定は、このメソッドを使用するたびに保存されます。 次に メソッドを呼び出す際にこれらの引数の値を指定しない場合は、保存された値が使用されます。 これらの引数を設定すると、[検索] ダイアログ ボックスの設定が変更され、[検索] ダイアログ ボックスの設定を変更すると、引数を省略した場合に使用される保存された値が変更されます。 問題を回避するには、このメソッドを使用するたびにこれらの引数を明示的に設定します。

メソッドと FindPrevious メソッドをFindNext使用して、検索を繰り返すことができます。

検索が指定した検索範囲の末尾に達すると、範囲の先頭まで折り返されます。 このラップアラウンドが発生したときに検索を停止するには、最初に見つかったセルのアドレスを保存し、その保存されたアドレスに対して連続する各検出セル アドレスをテストします。

省略可能のパラメーター

省略可能なパラメーターの詳細については、「 Office ソリューションの省略可能なパラメーター」を参照してください。

適用対象