Funcția VBA InStr

În VBA avem o funcție numită InStr Function, care este utilizată pentru a returna poziția primei apariții a unei subcadre într-o șir. Ceea ce înseamnă, de exemplu, avem un nume numit „Jhon” și trebuie să găsim apariția poziției alfabetului H în șir. Pentru aceasta este utilizată funcția.

Formula pentru funcția InStr în Excel VBA

Funcția Excel VBA InStr are următoarea sintaxă:

În sintaxa Start și comparați sunt opționale, în timp ce valorile șirului și a subliniei sunt necesare. Un șir este un șir în care dorim să găsim subcentrul nostru și subcategoria este valoarea care trebuie să fie găsită în șir. Să presupunem că dacă ar trebui să folosim sintaxa de mai sus pe exemplul nostru de Jhon deasupra codului VBA ar fi ca mai jos,

Instrument („Jhon”, „H”) și rezultatul ar fi 2, deoarece poziția alfabetului H este 2 în șir.

Acum ne îndreptăm către părțile opționale ale sintaxei care sunt, pornim și comparăm. Startul este poziția șirului de unde dorim să începem căutarea, în timp ce comparația este de trei tipuri,

  1. VbUseCompareOption: (-1) Este utilizat pentru a face opțiuni de comparare.
  2. VbBinaryCompare: (0) Este utilizat pentru a face comparații binare.
  3. VbTextCompare: (1) Este folosit la comparația textuală.

Dar avem nevoie de o variabilă pentru a stoca valoarea rezultatului. Deoarece valoarea este un număr întreg, variabila definită ar trebui să fie, de asemenea, un număr întreg. Acum, dacă am calculat valoarea, trebuie să afișăm și rezultatul, vom utiliza funcția msgbox pentru a afișa rezultatul.

Cum se utilizează funcția Excel VBA InStr?

Vom învăța cum să folosiți o funcție VBA InStr Excel cu câteva exemple.

Puteți descărca acest șablon VBA InStr Excel aici - șablonul VBA InStr Excel

Funcția VBA InStr - Exemplul # 1

În explicația de mai sus am folosit cuvântul Jhon ca șir și am vrut să găsesc poziția lui H în șir. Voi scrie codul pentru același lucru în VBA și voi folosi funcția Instrument pentru a găsi poziția lui J în șir.

Urmați pașii de mai jos pentru a utiliza funcția InStr în VBA.

Pasul 1: în fila Dezvoltator faceți clic pe Visual Basic pentru a deschide VB Editor.

Pasul 2: Odată ce modulul este deschis, declarați o sub-funcție pentru a începe să scrieți codul.

Cod:

 Compară sub () Încheiere Sub 

Pasul 3: Acum funcția este declarată, trebuie să declaram o variabilă pentru a stoca poziția sub-stratului.

Cod:

 Comparație de sub () Dim Pos Ca subregime finală 

Pasul 4: Acum scriem funcția InStr pentru a afla poziția substratului nostru.

Cod:

 Compară sub () Dim Pos Ca Inter Pos = InStr ("Jhon", "J") 

Pasul 5: Pentru a întoarce poziția substratului ca valoare, folosim funcția MsgBox și închidem subfuncția.

Cod:

 Compararea sub () Dim Pos Ca Inter Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Pasul 6: Dacă rulăm codul acesta arată poziția alfabetului J în șir.

Pasul 7: Dacă schimbăm substratul pentru a verifica dacă codul funcționează corect, să găsim alfabetul n în șir.

Cod:

 Compară sub () Dim Pos Ca Inter Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Pasul 8: Acum, dacă rulăm codul, putem vedea poziția alfabetului n în șir.

Funcția VBA InStr - Exemplul # 2

Acum am văzut ce fac argumentele necesare ale funcției, acum să le folosim pe cele opționale. Șirul este „Sunt un băiat bun, dar nu un alergător bun”. Vom găsi substratul „Bun” din șir, dar vom ignora primul Bun din propoziție.

Urmați pașii de mai jos pentru a utiliza funcția InStr în VBA.

Pasul 1: Deschideți editorul VB din fila dezvoltatorilor făcând clic pe Visual Basic.

Pasul 2: Începeți prin declararea unei sub-funcții.

Cod:

 Comparație de sub1 () End Sub 

Pasul 3: Acum declarați o variabilă pentru a stoca poziția substratului.

Cod:

 Comparație de sub1 () Dim Pos1 Ca subregime finală 

Pasul 4: Acum vom folosi funcția InStr pentru a găsi poziția șirului.

Cod:

 Comparație de sub1 () Dim Pos1 Ca poziție întreagă = InStr (12, "Eu sunt un băiat bun, dar bot un bun alergător", "Bun", vbBinaryCompare) 

Pasul 5: Acum folosim funcția Msgbox pentru a returna valoarea șirului.

Cod:

 Comparație de sub1 () Dim Pos1 Ca poziție întreagă = InStr (12, "Sunt un băiat bun, dar bot un bun alergător", "Bun", vbBinaryCompare) MsgBox Pos End Sub 

Pasul 6: Acum, dacă rulăm codul, putem obține poziția substratului.

Explicația funcției Excel VBA Instrument

Funcția InStr în VBA este utilizată pentru a returna poziția valorii subliniei într-un șir. Ce se întâmplă dacă valoarea nu este găsită? Dacă valoarea nu este găsită în șir, rezultatul afișat este zero.

Un lucru pe care trebuie să-l amintim întotdeauna funcția Instrument este sensibil la litere mari și mici. Pentru a demonstra acest lucru, trecem la exemplul 1 unde am folosit funcția instr pentru a căuta un alfabet.

Ce se întâmplă dacă substratul este „N” în loc de „n”? hai să aflăm. Am schimbat cazul alfabetului din șir.

Acum, dacă rulez codul, voi obține rezultatul după cum se arată mai jos.

Acest lucru dovedește că funcția instr este sensibilă la litere mari și mici.

Lucruri de amintit

  • Cele două câmpuri obligatorii sunt String și Substring.
  • Instrument Funcția este sensibilă la litere mari și mici.
  • Valoarea funcției InStr este un număr întreg.

Articole recomandate

Acesta a fost un ghid pentru funcția VBA InStr. Aici am discutat despre cum să utilizăm funcția Excel VBA InStr împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Funcția VBA VLOOKUP
  2. Funcția SWITCH Excel
  3. Ghid complet la VBA la eroare
  4. Utilizări ale barei de defilare în Excel

Categorie: