Share via


NamedRange.Find-Methode

Sucht bestimmte Informationen in dem NamedRange-Steuerelement und gibt ein Microsoft.Office.Interop.Excel.Range-Objekt zurück, das die erste Zelle darstellt, in der die Informationen gefunden wurden.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Syntax

'Declaration
Function Find ( _
    What As Object, _
    After As Object, _
    LookIn As Object, _
    LookAt As Object, _
    SearchOrder As Object, _
    SearchDirection As XlSearchDirection, _
    MatchCase As Object, _
    MatchByte As Object, _
    SearchFormat As Object _
) As Range
Range Find(
    Object What,
    Object After,
    Object LookIn,
    Object LookAt,
    Object SearchOrder,
    XlSearchDirection SearchDirection,
    Object MatchCase,
    Object MatchByte,
    Object SearchFormat
)

Parameter

  • What
    Typ: System.Object
    Die zu suchenden Daten.Kann eine Zeichenfolge oder ein beliebiger Microsoft Office Excel-Datentyp sein.
  • After
    Typ: System.Object
    Die Zelle, nach der Sie die Suche beginnen möchten.Dies entspricht der Position der aktiven Zelle, wenn eine Suche über die Benutzeroberfläche durchgeführt wird.Beachten Sie, dass After eine einzelne Zelle im Bereich sein muss.Beachten Sie auch, dass die Suche nach dieser Zelle beginnt, wobei die angegebene Zelle erst dann durchsucht wird, wenn die Methode erneut diese Zelle erreicht hat.Wenn dieses Argument nicht angegeben wird, beginnt die Suche (räumlich betrachtet) nach der Zelle in der linken oberen Ecke des Bereichs.
  • MatchCase
    Typ: System.Object
    true, wenn bei der Suche die Groß-/Kleinschreibung berücksichtigt werden soll.Der Standardwert ist false.
  • MatchByte
    Typ: System.Object
    Wird nur verwendet, wenn Sie eine Doppelbyte-Sprachunterstützung ausgewählt oder installiert haben.true, wenn Doppelbytezeichen nur Doppelbytezeichen entsprechen sollen. false, wenn eine Übereinstimmung der Doppelbytezeichen mit ihren entsprechenden Einzelbytezeichen zulässig ist.

Rückgabewert

Typ: Microsoft.Office.Interop.Excel.Range
Ein Microsoft.Office.Interop.Excel.Range-Objekt, das die erste Zelle darstellt, in der die Informationen gefunden wurden.

Hinweise

Diese Methode gibt nullNULL-Verweis (Nothing in Visual Basic) zurück, wenn keine Übereinstimmung gefunden wird.

Diese Methode hat keine Auswirkungen auf die Auswahl oder die aktive Zelle.

Die Einstellungen für LookIn, LookAt, SearchOrder und MatchByte werden bei jeder Verwendung dieser Methode gespeichert. Wenn Sie für diese Argumente keine Werte angeben, werden beim nächsten Aufrufen der Methode die gespeicherten Werte verwendet. Durch das Festlegen dieser Argumente werden die Einstellungen im Dialogfeld Suchen geändert. Durch das Ändern der Einstellungen im Dialogfeld Suchen werden die gespeicherten Werte verändert, die verwendet werden, wenn Sie die Argumente weglassen. Zur Vermeidung dieser Probleme sollten Sie diese Argumente jedes Mal explizit festlegen, wenn Sie diese Methode verwenden.

Sie können die FindNext-Methode und die FindPrevious-Methode verwenden, um die Suche zu wiederholen.

Wenn die Suche das Ende des angegebenen Suchbereichs erreicht, erfolgt ein Umbruch zum Anfang des Bereichs. Um die Suche bei einem Umbruch zu beenden, speichern Sie die Adresse der ersten gefundenen Zelle. Prüfen Sie dann jede nachfolgend gefundene Zelladresse gegen diese gespeicherte Adresse.

Optionale Parameter

Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Lösungen.

Beispiele

Im folgenden Codebeispiel wird mithilfe der Find-Methode nach der ersten Zelle in einem NamedRange-Steuerelement gesucht, die den Wert Seashell enthält. Im Beispiel werden die FindNext-Methode und die FindPrevious-Methode verwendet, um die nächste Zelle mit dem Wert Seashell zu finden und anschließend zur ursprünglichen Zelle zurückzukehren. Abschließend wird im Beispiel die Cut-Methode verwendet, um den Inhalt der ersten Zelle mit dem Wert Seashell auszuschneiden und in die Zelle B1 einzufügen.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

    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

private void FindValue()
{
    this.Range["A1", missing].Value2 = "Barnacle";
    this.Range["A2", missing].Value2 = "Seashell";
    this.Range["A3", missing].Value2 = "Star Fish";
    this.Range["A4", missing].Value2 = "Seashell";
    this.Range["A5", missing].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", missing, missing,
        Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns,
        Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext,
        false, false, missing);

    // 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", missing]);
}

.NET Framework-Sicherheit

Siehe auch

Referenz

NamedRange Schnittstelle

Microsoft.Office.Tools.Excel-Namespace