Share via


Metodo NamedRange.Find

Trova informazioni specifiche nel controllo NamedRange e restituisce un oggetto Microsoft.Office.Interop.Excel.Range che rappresenta la prima cella nella quale sono state trovate le informazioni.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Sintassi

'Dichiarazione
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
)

Parametri

  • What
    Tipo: System.Object
    Dati da cercare.Può essere una stringa o qualsiasi tipo di dati di Microsoft Office Excel.
  • After
    Tipo: System.Object
    Cella dopo la quale si desidera iniziare la ricerca.Corrisponde alla posizione della cella attiva quando una ricerca viene eseguita dall'interfaccia utente.Il parametro After deve essere una singola cella nell'intervallo.Tenere presente che la ricerca viene avviata dopo questa cella. La ricerca verrà eseguita nella cella specificata solo quando il metodo completerà il ciclo e tornerà a questa cella.Se non si specifica questo argomento, la ricerca verrà avviata dopo la cella nell'angolo superiore sinistro dell'intervallo.
  • MatchCase
    Tipo: System.Object
    true per rilevare la distinzione tra maiuscole e minuscole durante la ricerca.Il valore predefinito è false.
  • MatchByte
    Tipo: System.Object
    Utilizzato solo se è stato selezionato o installato il supporto per caratteri DBCS (Double-Byte Character Set).true affinché i caratteri DBCS corrispondano solo a caratteri DBCS; false affinché i caratteri DBCS corrispondano agli equivalenti caratteri SBCS.

Valore restituito

Tipo: Microsoft.Office.Interop.Excel.Range
Oggetto Microsoft.Office.Interop.Excel.Range che rappresenta la prima cella in cui vengono trovate le informazioni specificate.

Note

Il metodo restituisce nullriferimento null (Nothing in Visual Basic) se non viene trovata alcuna corrispondenza.

Questo metodo non influisce sulla selezione o sulla cella attiva.

Le impostazioni dei parametri LookIn, LookAt, SearchOrder e MatchByte vengono salvate ogni volta che si utilizza questo metodo. Se non si specificano i valori per questi argomenti, per la successiva chiamata al metodo saranno utilizzati i valori salvati. L'impostazione di questi argomenti implica la modifica delle impostazioni nella finestra di dialogo Trova. La modifica delle impostazioni in questa finestra implica la modifica dei valori salvati che vengono utilizzati se questi argomenti vengono omessi. Per evitare problemi, impostare questi argomenti in modo esplicito ogni volta che si utilizza questo metodo.

È possibile utilizzare i metodi FindNext e FindPrevious per ripetere la ricerca.

Quando la ricerca raggiunge la fine dell'intervallo di ricerca specificato, torna all'inizio dell'intervallo. In questo caso, per interrompere la ricerca, salvare l'indirizzo della prima cella trovata, quindi verificare ciascun indirizzo delle successive celle trovate rispetto all'indirizzo salvato.

Parametri facoltativi

Per informazioni sui parametri facoltativi, vedere Parametri facoltativi nelle soluzioni Office.

Esempi

Nell'esempio di codice riportato di seguito viene utilizzato il metodo Find per trovare la prima cella contenente il valore Seashell in un controllo NamedRange. Vengono quindi utilizzati i metodi FindNext e FindPrevious per trovare la cella successiva contenente il valore Seashell e tornare alla cella di origine. Viene infine utilizzato il metodo Cut per tagliare il contenuto della prima cella contenente il valore Seashell e incollarlo nella cella B1.

Questo esempio è valido per una personalizzazione a livello di documento.

    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]);
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

NamedRange Interfaccia

Spazio dei nomi Microsoft.Office.Tools.Excel