Excel VBA pentru a potrivi valoarea în interval (3 exemple)

  • Imparte Asta
Hugh West

În timp ce lucrați cu Microsoft Excel , uneori trebuie să găsim valoarea care se potrivește într-un interval. Putem face acest lucru cu ușurință cu ajutorul funcțiilor Excel. Există funcții în VBA pe care le putem folosi, dar niciuna dintre ele nu este egală cu MATCH În acest articol, vom învăța cum să potrivim o valoare dintr-un interval cu Excel VBA .

Descărcați caietul de practică

Puteți descărca caietul de lucru și exersa cu ele.

VBA Potriviți valoarea în interval.xlsm

Introducere în funcția Excel VBA Match

The Funcția de potrivire în Excel VBA este o funcție de căutare utilă construită care, ca și VLOOKUP , HLOOKUP , iar INDEX returnează locația de potrivire identică sau comparabilă a valorilor de căutare obținute în array-uri sau într-o bază de date. Această funcție este o funcție de foaie de calcul pe care o utilizează programul. Deoarece este o funcție de foaie de calcul, parametrii pentru funcția Match sunt similari cu cei pentru funcția de foaie de calcul.

3 Exemple de Excel VBA pentru a potrivi valoarea în interval

1. Potriviți valoarea în interval cu funcția VBA Match în Excel

Pentru a utiliza funcția Excel VBA Match Pentru a găsi valoarea de potrivire într-un interval, vom folosi următorul set de date. Setul de date conține numele unor studenți în coloana C , notele lor la un anumit subiect în coloana D și numărul de ordine al fiecărui elev din coloana B Acum, să presupunem că dorim să găsim poziția de potrivire în celula G5 a unei anumite mărci, iar marca pe care dorim să o potrivim se află în celula F5 .

Să demonstrăm procedura de căutare a valorilor potrivite într-un interval folosind funcția Excel VBA Match .

ETAPE:

  • În primul rând, mergeți la Dezvoltator din panglica de pe panglică.
  • În al doilea rând, faceți clic pe Visual Basic pentru a deschide fereastra Editor Visual Basic , unde vom scrie codul. Sau, apăsați Alt + 11 pentru a deschide fereastra Editor Visual Basic .

  • O altă modalitate de a deschide Editor Visual Basic este doar să faceți clic dreapta pe pe foaia de lucru și faceți clic pe Vezi codul .

  • Acest lucru va deschide fereastra Editor Visual Basic Acum, scrieți codul acolo.

Cod VBA:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • După aceea, pentru a rula codul, apăsați butonul F5 de pe tastatură sau faceți clic pe butonul Rub Sub buton.

  • În cele din urmă, puteți vedea că potrivirea este găsită în poziția 5 .

🔎 Cum funcționează codul VBA?

  • Sub example1_match() : Aceasta înseamnă că definim o subprocedură dând numele macro.
  • Range("G5").Value : Dorim ca rezultatul să fie stocat în celula G5 .
  • Fișa de lucruFuncție : Prin utilizarea acestui cod vom putea accesa funcțiile VBA.
  • Match(Range("F5").Value, Range("D5:D10"), 0) : Aici, folosim funcția Match în VBA. Deoarece dorim să luăm valoarea din celula F5 și aflăm poziția în intervalul D5:D10 .
  • End Sub : Acest lucru înseamnă că încheiem procedura.

Citiți mai mult: Excel VBA pentru a potrivi un șir de caractere în coloană (5 exemple)

2. Utilizați Excel VBA pentru a potrivi o valoare dintr-o altă foaie de calcul

Putem găsi valorile corespunzătoare din intervalul de valori dintr-o altă foaie de calcul, folosind funcția VBA Match în Excel Să presupunem că avem un set de date într-o foaie numită " Date " și dorim ca rezultatul să fie în foaia cu numele " Rezultat ". Și folosim același set de date. Acum, să urmăm pașii pentru a face acest lucru.

ETAPE:

  • La început, în același mod ca și în exemplul anterior, mergeți la rubrica Dezvoltator de pe panglică.
  • Apoi, faceți clic pe Visual Basic sau apăsați Alt + F11 pentru a deschide fereastra Editor Visual Basic .
  • În loc de aceasta, pentru a deschide fereastra Editor Visual Basic , dați pur și simplu clic dreapta pe foaie și selectați Vezi codul .

  • Acum, scrieți codul VBA.

Cod VBA:

 Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub 
  • Apoi, executați codul apăsând tasta F5 sau făcând clic pe tasta Run Sub buton.

  • Și, rezultatul se găsește în " Rezultat " foaie.

Citește mai mult: Cum se potrivesc datele în Excel din 2 foi de calcul

Lecturi similare

  • Adună toate corespondențele cu VLOOKUP în Excel (3 moduri simple)
  • Cum să găsiți corespondența sensibilă la majuscule și minuscule în Excel ( 6 Formule)
  • Cum să potriviți numele în Excel în cazul în care ortografia diferă (8 metode)

3. Bucle Excel VBA pentru a obține valoarea corespunzătoare în intervalul de valori

Să presupunem că dorim ca mai multe mărci să se potrivească cu valoarea, vom utiliza buclele VBA pentru aceasta. Utilizăm același set de date ca și înainte. Acum, dorim ca poziția de potrivire în coloana G , iar mărcile la care dorim să găsim corespondența se află în coloana F Să vedem treptele de jos.

ETAPE:

  • În primul rând, din panglică, accesați secțiunea Dezvoltator tab.
  • În al doilea rând, pentru a deschide Editor Visual Basic , faceți clic pe Visual Basic sau apăsați Alt + F11 .
  • Sau pur și simplu faceți clic dreapta pe foaie și selectați Vezi codul .

  • Acest lucru va deschide fereastra Editor Visual Basic .
  • Acum, introduceți codul acolo.

Cod VBA:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • După aceea, se apasă butonul F5 sau făcând clic pe tasta Run Sub va rula codul.

  • Și, veți putea vedea rezultatul în coloana G .

🔎 Cum funcționează codul VBA?

  • Pentru i = 5 până la 8 : Aceasta înseamnă că dorim ca bucla să ruleze începând cu rândul 5 și se încheie cu rândul 8 .
  • Cells(i, 7).Value : Aceasta salvează valoarea locațiilor rezultate în fiecare rând din 5 la 8 rânduri în coloană G care este numărul coloanei 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Celulele pot fi potrivite cu ajutorul funcției Meci Funcția (i, 6). Valorile caută fiecare valoare Lookup găsită în rânduri 5 prin 8 a 6. Coloană. Apoi se caută în array D5:D10 pe o foaie Excel, în cazul în care sunt disponibile date.

Citește mai mult: Excel Găsiți valori care se potrivesc în două coloane

Lucruri de reținut

  • În cazul în care tipul de potrivire lipsește sau nu este specificat, se presupune că acesta este 1 .
  • În cazul în care nu se detectează nicio potrivire, câmpul Excel aferent va fi gol.
  • Valoarea de căutare poate fi o dată numerică, de caractere sau logică, sau o referință de celulă la o cantitate, text sau semnificație logică.

Concluzie

Metodele de mai sus vă vor ajuta să potriviți valorile dintr-un interval în Excel VBA. Sperăm că acest lucru vă va fi de ajutor! Dacă aveți întrebări, sugestii sau feedback, vă rugăm să ne anunțați în secțiunea de comentarii. Sau puteți arunca o privire la celelalte articole ale noastre din categoria ExcelWIKI.com blog!

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.