Funzione di ricerca VBA - Come utilizzare la funzione di ricerca? (Esempi)

Funzione di RICERCA VBA di Excel

La ricerca è la funzione che ci aiuta a recuperare i dati dalla tabella principale in base a un singolo valore di ricerca. La funzione VBA LOOKUP non richiede una struttura dati del genere, per la funzione LOOKUP non importa se la colonna dei risultati si trova a destra oa sinistra del valore di ricerca, tuttavia, può recuperare i dati comodamente.

Funziona in modo simile alla funzione CERCA.VERT, ma, cosa più importante, è flessibile in una struttura dati. Quando diciamo flessibile nella struttura dei dati, significa che CERCA.VERT ha bisogno di tutti i valori a destra di un valore di ricerca nella tabella principale e qualsiasi cosa a sinistra del valore di ricerca CERCA.VERT non può trovarlo.

Sintassi

Se hai già cercato la formula CERCA nell'editor VBA, sono sicuro che sei impazzito perché c'è una formula chiamata CERCA in VBA.

Il motivo per cui non è disponibile per impostazione predefinita perché CERCA non è una funzione VBA piuttosto, è una funzione del foglio di lavoro. Quindi, per utilizzare la funzione CERCA, dobbiamo prima utilizzare la funzione del foglio di lavoro nella classe VBA.

  • Arg 1 significa valore di ricerca
  • Arg 2 è il nostro vettore di ricerca, cioè l'intervallo della nostra colonna del valore di ricerca
  • Arg 3 è il nostro vettore di risultato.

Come utilizzare la funzione di ricerca VBA? (Esempi)

Esempio 1

Abbiamo i seguenti dati da cui vogliamo ottenere il prezzo medio di un particolare nome di prodotto utilizzando la funzione di ricerca in VBA Excel.

Per ottenere il prezzo medio degli accessori per cellulari, utilizzare il codice seguente.

Passaggio 1: avviare la sottoprocedura in VBA.

Codice:

Sub Lookup_Example1 () End Sub

Passaggio 2: ho bisogno del risultato nella cella F3. Quindi il mio codice è Range ("F3"). Value =.

Codice:

Sub Lookup_Example1 () Intervallo ("F3"). Valore End Sub

Passaggio 3: come ho detto, non è stato possibile accedere immediatamente alla funzione CERCA. Quindi, per prima cosa, usa la classe Funzione foglio di lavoro.

Passaggio 4: nel momento in cui applichiamo la classe Funzione foglio di lavoro, possiamo vedere tutte le formule disponibili con questa classe in VBA, quindi seleziona CERCA da questo elenco.

Passaggio 5: con le funzioni del foglio di lavoro in VBA, non vediamo argomenti chiari della formula. Qui Arg 1 significa valore di ricerca. Il nostro valore di ricerca è nella cella E3, quindi scrivi il codice come Intervallo ("E3"). Valore.

Codice:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Passaggio 6: Arg 2 è il nostro vettore di ricerca, ovvero l'intervallo della nostra colonna del valore di ricerca. In questo esempio, la nostra gamma di vettori di ricerca va da B3 a B10.

Codice:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Passaggio 7: Arg 3 è il nostro vettore di risultati. Abbiamo bisogno del risultato dalla colonna Prezzo medio, quindi il vettore del risultato è compreso tra C3 e C10.

Codice:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Ok, abbiamo finito con la codifica VBA.

Eseguiamo il codice e dovremmo ottenere il risultato nella cella F3.

In questo modo, possiamo utilizzare la funzione CERCA nella classe della funzione del foglio di lavoro per recuperare i dati del valore di ricerca fornito.

Esempio n. 2

Usa variabili per la funzione CERCA

Usando anche le variabili possiamo arrivare ai risultati. Di seguito è riportato il codice di esempio della funzione di ricerca con variabili.

Codice:

Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.

Things to Remember

  • LOOKUP is an alternative function to VLOOKUP.
  • LOOKUP non richiede necessariamente che la colonna dei risultati si trovi a destra del valore di ricerca.
  • La lunghezza dell'intervallo del vettore di ricerca e del vettore di risultato dovrebbe essere la stessa.
  • Ancora più importante, è necessario fornire un numero di indice di colonna, necessario per la funzione CERCA.VERT.

Articoli interessanti...