Funzione di ricerca VBA di Excel

In Excel, abbiamo usato VLookup molte volte. È lì nella funzione Inserisci che viene utilizzato per recuperare o mappare qualsiasi tipo di valore che vogliamo. Allo stesso modo, in VBA abbiamo l'applicazione Lookup, che funziona come Excel Vlookup. VBA Lookup ha una struttura dati flessibile in quanto può essere utilizzato per mappare qualsiasi tipo di valore da qualsiasi tipo di array di tabelle. Ciò significa che se applichiamo Excel Vlookup, non saremo in grado di mappare i dati della colonna di destra con i dati della colonna di sinistra in una sintassi. Considerando che in VBA Lookup non esiste una struttura adeguata di mappatura. Dobbiamo solo seguire la sintassi di VBA Lookup. Se la sintassi è soddisfatta e correttamente inquadrata, possiamo recuperare i valori dal lato destro o sinistro della tabella.

Sintassi della funzione di ricerca VBA:

Dove,

  • Arg1 = Valore che vogliamo cercare .
  • Arg2 = Intervallo delle colonne o della tabella da cui vogliamo cercare.
  • Arg3 = Risultato come booleano o vettore.

Come utilizzare la funzione di ricerca in Excel VBA?

Impareremo come utilizzare la funzione di ricerca in Excel utilizzando il codice VBA.

Puoi scaricare questo modello Excel di ricerca VBA qui - Modello Excel di ricerca VBA

Ricerca VBA - Esempio n. 1

Esistono molti modi per scrivere il codice di ricerca VBA. In questo esempio, vedremo un modo semplice per scrivere la ricerca VBA. Per questo, abbiamo un set di dati come mostrato di seguito. Questa tabella riporta il numero di gare e la velocità media dei corridori. Ora useremo questi dati per applicare la ricerca VBA nella tabella seguente con le intestazioni blu da A8 a B8. Per questo, seguire i passaggi seguenti:

Passaggio 1: aprire un modulo dalla scheda del menu Inserisci come mostrato di seguito.

Passaggio 2: scrivere la sottoprocedura per il lavoro eseguito in quel modulo. Qui abbiamo scelto il nome come Ricerca VBA.

Codice:

 Sottotitolo VBA_Lookup1 () End Sub 

Passaggio 3: selezionare la cella di output in cui è necessario visualizzare il valore di ricerca. Qui quella cella è B9 dove cercheremo il valore relativo al nome "Aniket" che è il nostro valore di ricerca.

Codice:

 Sub VBA_Lookup1 () Range ("B9"). Valore End Sub 

Passaggio 4: ora utilizzeremo la funzione Foglio di lavoro e selezioneremo la funzione di ricerca integrata nell'elenco come mostrato di seguito.

Codice:

 Intervallo VBA_Lookup1 () secondario ("B9"). Valore = WorksheetFunction.Lookup End Sub 

Passaggio 5: Una volta selezionata la funzione di ricerca, vedremo Arg1, Arg2 e Arg3 nella sua sintassi. Per questo, per prima cosa inseriremo il nostro intervallo di valori di ricerca che è la cella A9 al posto di Arg1.

Codice:

 Intervallo VBA_Lookup1 () secondario ("B9"). Valore = WorksheetFunction.Lookup (intervallo ("A9"). Valore, fine secondario 

Passaggio 6: ora per Arg2, selezionare l'intervallo di ricerca che proviene dalla cella A2: A5.

Codice:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), End Sub 

Passaggio 7: infine, selezionare intervalli di valori di ricerca che vanno da B2 a B5 al posto di Arg3.

Codice:

 Sub VBA_Lookup1 () Range ("B9"). Value = WorksheetFunction.Lookup (Range ("A9"). Value, Range ("A2: A5"), Range ("B2: B5")) End Sub 

Passaggio 8: eseguire il codice premendo il tasto F5 o facendo clic sul pulsante Riproduci situato sotto la barra dei menu. Vedremo, come da Ricerca, il numero di gare fatte con il nome "Aniket" è 7.

Ricerca VBA - Esempio n. 2

Esiste un altro modo per applicare una funzione di ricerca in Excel VBA. Per questo, useremo gli stessi dati che abbiamo visto nell'esempio-1. Per questo, seguire i passaggi seguenti:

Passaggio 1: scrivere la sottoprocedura per la ricerca VBA, come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup2 () End Sub 

Passaggio 2: definire una variabile come stringa che verrà utilizzata per mappare la colonna Nome.

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim. Sottotitolo stringa 

Passaggio 3: nel nome della variabile definito, applicheremo l'applicazione Vlookup come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim come nome stringa = Application.VLookup (Fine sottotitoli 

Passaggio 4: supponiamo che il nostro valore di ricerca sia chiamato "Ashwani" dalla tabella.

Codice:

 Sottotitolo VBA_Lookup2 () Nome Dim come nome stringa = Application.VLookup ("Ashwani", End Sub 

Passaggio 5: l'intervallo va da A1 a C6 dal foglio 1.

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim come nome stringa = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Passo 6: Ora se vogliamo vedere la velocità media del ciclista "Ashwani" qui, dobbiamo mappare la cella nella sintassi di Ricerca che è al 3 ° posto.

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim come nome stringa = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Step 7: Ora per vedere la velocità media del pilota “Ashwani”, possiamo usare entrambi MsgBox e Debug Print. Ma usare Debug Print è molto meglio di MsgBox. Assegna quindi Debug Print con il nome variabile definito.

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim come nome stringa = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Passo 8: Ora apri la finestra immediata che è lì nella scheda del menu Visualizza per vedere l'output.

Passaggio 9: compilare il codice ed eseguirlo. Vedremo, la ricerca è stata mappata con velocità di Ashwani e recuperata nella finestra immediata come 86 .

Codice:

 Sottotitolo VBA_Lookup2 () Nome dim come nome stringa = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Debug.Print Name End Sub 

Ricerca VBA - Esempio n. 3

Per utilizzare la funzione di ricerca in Excel VBA, attenersi alla seguente procedura:

Passaggio 1: scrivere la sottoprocedura per la ricerca VBA, come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup3 () End Sub 

Passaggio 2: dichiarare una variabile per Nome come stringa come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Nome come stringa Fine sottotitoli 

Passaggio 3: ora assegnare il nome che desidera cercare al nome della variabile definito come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Name As String Name = "Deepinder" End Sub 

Passo 4: ora usa qualsiasi parola per definire e usare la ricerca, diciamo LUp . E in questo usa la funzione Foglio di lavoro con Vlookup come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Nome come stringa Nome = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "La velocità media è:" e LUp End Sub 

Passaggio 5: ora utilizza la stessa sintassi di Vlookup utilizzata in Excel. In Arg1 inserisci la variabile Name, quindi seleziona la matrice di intervallo e cerca il valore che vogliamo ottenere. Qui quella colonna è 3 come mostrato di seguito.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Nome come stringa Nome = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La velocità media è:" & LUp End Sub 

Passaggio 6: ora utilizza MsgBox per vedere l'output.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Nome come stringa Nome = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La velocità media è:" & LUp End Sub 

Passaggio 7: compilare ed eseguire il codice. Vedremo, per il nome "Deepinder" la velocità media sta arrivando a 88. Considerando lo stesso valore è dato per il nome Deepinder nella tabella.

Codice:

 Sottotitolo VBA_Lookup3 () Dim Nome come stringa Nome = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Name, Sheet1.Range ("A2: C6"), 3, False) MsgBox "La velocità media è:" & LUp End Sub 

Pro della funzione di ricerca VBA di Excel

  • È facile da usare e da implementare come applicare le normali formule Vlookup di Excel in Excel.
  • Possiamo utilizzare qualsiasi tipo di intervallo e matrice nella ricerca VBA.
  • Vi sono pochissimi o nessun vincolo durante l'applicazione della ricerca VBA.

Cose da ricordare

  • Possiamo usare Lookup al posto di Vlookup in qualsiasi situazione.
  • L'intervallo per il vettore di ricerca e il vettore di risultato devono essere uguali.
  • Una volta terminata l'applicazione, salvare il file come formato Macro Enable per conservare il codice.
  • Non è obbligatorio inserire la colonna dei risultati ogni volta che si trova alla destra del valore di ricerca.

Articoli consigliati

Questa è una guida alla funzione di ricerca VBA. Qui discutiamo come utilizzare la funzione di ricerca in Excel VBA insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Collezione VBA (esempi)
  2. Dichiarazioni VBA IF | Modelli Excel
  3. Come utilizzare la funzione di ordinamento VBA di Excel?
  4. VBA While Loop (esempi con modello Excel)
  5. VBA Environ

Categoria: