VBA InStr-toiminto

VBA: ssa meillä on toiminto nimeltään InStr Function, jota käytetään palauttamaan merkkijonon alijonojen ensimmäisen esiintymisen sijainti. Mikä tarkoittaa esimerkiksi sitä, että meillä on nimi nimeltään “Jhon”, ja meidän on löydettävä H-aakkosten sijainti merkkijonossa. Tätä varten funktiota käytetään.

Kaava InStr-toiminnolle Excel VBA: ssa

Excel VBA InStr -toiminnolla on seuraava syntaksi:

Syntaksissa Käynnistä ja Vertaa ovat valinnaisia, kun taas merkkijonojen ja alijonojen arvot vaaditaan. Merkkijono on merkkijono, josta haluamme löytää alijuoksemme, ja merkkijono on arvo, joka vaaditaan merkkijonoon. Oletetaan, että jos meidän olisi käytettävä yllä olevaa syntaksia esimerkissämme Jhonista VBA-koodin yläpuolella, olisi seuraava,

Instr (“Jhon”, “H”) ja tulos olisi 2, koska aakkosten H sijainti on 2 merkkijonossa.

Nyt siirrymme kohti syntaksin valinnaisia ​​osia, jotka ovat, aloita ja vertaa. Alku on merkkijonon sijainti mistä haluamme aloittaa haun, kun taas vertailu on kolmen tyyppistä,

  1. VbUseCompareOption: (-1) Sitä käytetään vaihtoehtovertailuun.
  2. VbBinaryCompare: (0) Sitä käytetään binäärisen vertailun tekemiseen.
  3. VbTextCompare: (1) Sitä käytetään tekstimuotoiseen vertailuun.

Mutta tarvitsemme muuttujan tuloksen arvon tallentamiseksi. Koska arvo on kokonaisluku, määritetyn muuttujan tulisi myös olla kokonaisluku. Nyt jos olemme laskenut arvon, tarvitsemme myös tuloksen näyttämisen, käytämme msgbox-toimintoa tuloksen näyttämiseen.

Kuinka käyttää Excel VBA InStr -toimintoa?

Opimme käyttämään VBA InStr Excel -toimintoa muutamalla esimerkillä.

Voit ladata tämän VBA InStr Excel -mallin täältä - VBA InStr Excel Template

VBA InStr -toiminto - esimerkki # 1

Yllä olevassa selityksessä käytin sanaa Jhon merkkijonona ja halusin löytää H: n sijainnin merkkijonossa. Aion kirjoittaa saman koodin VBA: lla ja löytää Instr-toiminnon avulla J: n sijainnin merkkijonossa.

Noudata alla olevia vaiheita käyttääksesi InStr-toimintoa VBA: ssa.

Vaihe 1: Avaa VB-editori napsauttamalla Kehittäjä-välilehdessä Visual Basic -painiketta.

Vaihe 2: Kun moduuli on auki, ilmoita alatoiminto aloittaaksesi koodin kirjoittamisen.

Koodi:

 Alavertailu () Loppu alaosaan 

Vaihe 3: Nyt funktio on ilmoitettu. Meidän on julistettava muuttuja alijonojen sijainnin tallentamiseksi.

Koodi:

 Alavertailu () himmennetty kokonaislukuna Loppu alaosa 

Vaihe 4: Nyt kirjoitamme InStr-toiminnon saadaksesi selville alijonojen sijainnin.

Koodi:

 Alavertailu () himmennetty kokonaislukuna pos = InStr ("Jhon", "J") Loppu alaosa 

Vaihe 5: Palauttaaksesi alijonojen sijainnin arvona, käytä MsgBox-toimintoa ja sulje alatoiminto.

Koodi:

 Alivertailu () himmennetty kokonaislukuna Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Vaihe 6: Jos suoritamme koodin, se näyttää aakkosten J sijainnin merkkijonossa.

Vaihe 7: Jos muutamme alijonoa varmistaaksemme, että koodi toimii oikein, löydämme aakkoset n merkkijonosta.

Koodi:

 Alivertailu () himmennetty kokonaislukuna Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Vaihe 8: Jos nyt suoritamme koodin, näemme aakkosten n sijainnin merkkijonossa.

VBA InStr -toiminto - esimerkki # 2

Nyt olemme nähneet, mitä funktion vaaditut argumentit tekevät, käytämme nyt valinnaisia. Merkkijono on ”Olen hyvä poika, mutta en hyvä juoksija”. Löydämme merkkijonosta alijono “Hyvä”, mutta jättää huomioimatta lauseen ensimmäisen Hyvän.

Noudata alla olevia vaiheita käyttääksesi InStr-toimintoa VBA: ssa.

Vaihe 1: Avaa VB-editori kehittäjien välilehdeltä napsauttamalla Visual Basic.

Vaihe 2: Aloita julistamalla alatoiminto.

Koodi:

 Alavertailu1 () Loppu alaosa 

Vaihe 3: Ilmoita nyt muuttuja alijonojen sijainnin tallentamiseksi.

Koodi:

 Alivertailu1 () himmennetty Pos1 kokonaislukuna loppuosa 

Vaihe 4: Nyt käytämme InStr-toimintoa merkkijonon sijainnin löytämiseksi.

Koodi:

 Sub Vertaa1 () Dim Pos1 Kuten kokonaisluku Pos = InStr (12, "Olen hyvä poika, mutta olen hyvä juoksija", "Hyvä", vbBinaryCompare) End Sub 

Vaihe 5: Nyt käytämme Msgbox-toimintoa merkkijonon arvon palauttamiseksi.

Koodi:

 Sub Vertaa1 () Himmennetty Pos1 Kuten kokonaisluku Pos = InStr (12, "Olen hyvä poika, mutta olen hyvä juoksija", "Hyvä", vbBinaryCompare) MsgBox Pos End Sub 

Vaihe 6: Nyt jos suoritamme koodin, voimme saada alimerkkijonon sijainnin.

Selitys Excel VBA Instrument -toiminnosta

VBA: n InStr-toimintoa käytetään palauttamaan merkkijonon alijonojen arvon sijainti. Mitä tapahtuu, jos arvoa ei löydy? Jos arvoa ei löydy merkkijonosta, näytetty tulos on nolla.

Yksi asia, joka meidän tulisi aina muistaa Instr-toiminto, on kirjainkoolla. Tämän todistamiseksi siirrymme esimerkkiin 1, jossa etsimme aakkosia ohjetoiminnolla.

Mitä tapahtuu, jos alijono on "N" eikä "n"? anna meidän selvittää. Olen vaihtanut merkkijonon aakkosten tapauksen.

Nyt jos suoritan koodin, saan seuraavan kuvan tuloksen.

Tämä osoittaa, että instr-toiminto on kirjainkoko.

Muistettavat asiat

  • Kaksi vaadittua kenttää ovat merkkijono ja alamerkkijono.
  • Instrumenttitoiminto on kirjainkoko.
  • InStr-toiminnon arvo on kokonaisluku.

Suositellut artikkelit

Tämä on opas VBA InStr Function -toimintoon. Tässä keskustelimme siitä, kuinka käyttää Excel VBA InStr Function -toimintoa käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA VLOOKUP -toiminto
  2. Excel-KYTKIN-toiminto
  3. Täydellinen opas VBA-virheestä
  4. Vierityspalkin käyttö Excelissä

Luokka: