VBA InStr | Top 5 piemēri, kā izmantot Excel VBA InStr funkciju

Excel VBA InStr funkcija

Instr VBA tiek izmantots, lai uzzinātu dotā apakšvirsraksta pozīciju virknē pēc tam, kad esam norādījuši funkcijas salīdzināšanas metodi, šai funkcijai ir četras dažādas salīdzināšanas metodes, Instr ir virknes funkcija, bet funkcijas atgrieztā izeja ir ciparu, tāpēc šī funkcija tiek izvadīta vesela skaitļa mainīgajā.

VBA virkne nav nekas cits kā rakstzīmju sērija, ti, visi teksti, kas tiek piegādāti ar pēdiņām, tiek uzskatīti par virknēm. InStr funkcija ir iebūvēta teksta funkcija, ko izmanto, lai manipulētu ar virknēm. Piemēram - ja vēlaties izvilkt apakšvirkni no teikuma vai ja vēlaties veikt fontu noformējuma izmaiņas konkrētai virknei rakstzīmju sērijā vai ja vēlaties atrast rakstzīmes pozīciju un daudzas citas iespējas, varat izmantot InStr.

Sintakse

Tam ir 4 argumenti, kā parādīts zemāk esošajā attēlā.

  • [Sākums]: Tas nav obligāti. Šī ir skaitliskā vērtība, kas mums jānorāda, no kuras virknes pozīcijas Instr funkcija sāk meklēt piegādāto tekstu. Piemēram: ja vēlaties meklēt rakstzīmi “a” vārdā “Bangalore” no 3. pozīcijas, Instr funkcijas sākuma pozīcijai jāsaka kā 3. Tātad no 3. pozīcijas rakstzīme “a” atrodas 5. pozīcijā. Ja jūs ignorējat šo parametru, noklusējuma vērtība ir 1.
  • 1. virkne: Šī ir faktiskā virkne, kuru mēs piegādājam, ti, no šī teksta mēs cenšamies atrast apakšvirkni. Piemēram, ja meklējat virkni “a” sadaļā “Bangalore”, 1. virkni - Bangalorā.
  • 2. virkne: Tas ir nekas cits kā tā, kuru meklējam. Piemēram, ja jūs meklējat virkni "a" , kas "Bangalore" String 2 ir .
  • [Salīdzināt]: Tas atkal ir izvēles arguments. Argumentā [salīdzināt] ir pieejamas trīs veidu iespējas.

  • vbBinaryCompare: Tas ir nekas cits kā 1. un 1. virknes apakšvirsraksta (2. virkne) meklēšana ar reģistrjutīgu reģistru. Piemēram, ja mēs meklējam vārdu a” vārdā “Bangalore”, Instr rezultātā rezultāts būtu 2 burtam “A” vārdā “Bangalore” Instr rezultāts būtu 0, jo komplektā iekļautā virkne ir lielo burtu vērtība.

Kā argumentu mēs varam ievietot arī nulli (0).

vbTextCompare: Tas nav reģistrjutīga meklēšanas virknes 2 virknē 1. Piemēram, ja mēs meklējam "a" , kas ar vārdu "Bangaloras" INSTR atgriezīsies 2, kā rezultātā, un, ja jūs meklējat "A" vārdu “Bangalore” Instr atgriezīs arī 2. Loģika ir A = a, B = b, C = c utt.

Kā argumentu varam norādīt arī vienu (1).

vbDatabaseCompare: Tas tiek izmantots, lai salīdzinātu informāciju no jūsu datu bāzes, ti, Microsoft Access datu bāzes.

Kā argumentu varam norādīt arī vienu (-1).

5 galvenie VBA Instr funkcijas izmantošanas piemēri

Šo VBA Instr Function Excel veidni varat lejupielādēt šeit - VBA Instr Function Excel Template

1. piemērs

Sāksim ar pirmo piemēru. Vārdā Bangalore atrodiet rakstura pozīciju a.

Zemāk kods veiks mums uzdevumu.

Kods:

 Sub Instr_Example1 () Dim i As Variant i = InStr ("Bangalore", "a") MsgBox i End Sub 

Tagad palaidiet iepriekš norādīto VBA kodu, izmantojot F5 taustiņu, vai arī jūs varat palaist šo kodu manuāli, kā parādīts zemāk dotajā ekrānuzņēmumā.

Izeja:

2. piemērs

Tagad vārdā Bangalore atrodiet rakstzīmes “a” pozīciju no trešās pozīcijas.

Zemāk redzamais kods veiks mums uzdevumu.

Kods:

 Sub Instr_Example2 () Dim i As Variant i = InStr (3, "Bangalore", "a") MsgBox i End Sub 

Lai palaistu iepriekš norādīto kodu, varat izmantot F5 taustiņu vai arī palaist šo kodu manuāli, kā parādīts zemāk dotajā ekrānuzņēmumā.

Izeja:

Tagad augšējā attēlā apskatiet atšķirību no iepriekšējā koda. Tā kā mēs esam minējuši rakstzīmes sākuma stāvokli kā 3, tas ignorēja pirmo burtu “a” 2. pozīcijā.

3. piemērs

Tagad mēs redzēsim reģistrjutīgu meklēšanu. Vārdā Bangalore atrodiet burtu “A”.

Lai to izdarītu, mums jāsniedz salīdzināšanas arguments kā vbBinaryCompare.

Kods:

 Sub Instr_Example3 () Dim i As Variant i = InStr (1, "Bangalore", "A", vbBinaryCompare) MsgBox i End Sub 

Tagad palaidiet šo kodu, izmantojot F5 atslēgu, vai arī varat palaist šo kodu manuāli.

Izeja:

Tā kā mēs esam piegādājuši argumentu salīdzināt, jo funkcija vbBinaryCompare Instr atgrieza rezultātu kā nulli, jo nav lielo burtu “A” .

4. piemērs

Tagad mēs redzēsim vēl vienu reģistrjutīgu meklēšanu. Vārdā Bangalore atrodiet burtu “A”. Iepriekšējais piemērs atgrieza rezultātu kā nulli.

Lai šeit pārvarētu reģistrjutīgo pieeju, mums jāsniedz salīdzināšanas arguments kā vbTextCompare.

Kods:

 Sub Instr_Example4 () Dim i As Variant i = InStr (1, "Bangalore", "A", vbTextCompare) MsgBox i End Sub 

Tagad palaidiet šo kodu, izmantojot F5 atslēgu, vai arī varat palaist šo kodu manuāli.

Izeja:

5. piemērs

Tagad mēs redzēsim Instr funkcijas uzlaboto līmeni. Ja jums ir daudz lapu, kurām ir vairāk vai mazāk līdzīgs nosaukums, un vēlaties uzreiz paslēpt visas šīs lapas, mēs varam izmantot zemāk esošo kodu, lai paslēptu konkrētu lapu.

Piemēram, man ir 5 lapas ar nosaukumu Summary 1, Summary 2, Summary 3, Summary 4 un Data Sheet.

Tagad es gribu paslēpt visas lapas, kurās ir vārds “Kopsavilkums”. Izmantojiet zemāk esošo kodu, lai paslēptu visas lapas, kuru nosaukumā ir vārds Kopsavilkums.

Kods:

 Sub To_Hide_Specific_Sheet () Aptumšojiet Ws kā darblapu katrai W ActiveWorkbook.Worksheets If InStr (Ws.Name, "Kopsavilkums")> 0 Tad Ws.Visible = xlSheetVeryHidden End Ja Next Ws InStr funkcija meklēs vārdu vai frāzi lapas nosaukumā "Ja tas atradīs, tas tiks paslēpts End Sub 

Tagad palaidiet šo kodu, izmantojot F5 atslēgu, vai arī varat palaist šo kodu manuāli un redzēt izeju.

Tāpat, lai paslēptu visas šīs lapas, izmantojiet zemāk esošo kodu.

Kods:

 Sub To_UnHide_Specific_Sheet () Dim Ws kā darblapa katram W ActiveWorkbook.Worksheets If InStr (Ws.Name, "Kopsavilkums")> 0 Tad Ws.Visible = xlSheetVisible End Ja Next Ws InStr funkcija meklē vārdu vai frāzi lapas nosaukumā "Ja tas atradīs, tas tiks paslēpts End Sub 

Tagad palaidiet šo kodu, izmantojot F5 atslēgu, vai arī varat palaist šo kodu manuāli un redzēt izeju.

Atceramās lietas

  • Instr ir reģistrjutīga funkcija. Lai novērstu šo reģistrjutīgo problēmu, jums jānorāda [salīdzināt] arguments kā.
  • Ja meklējat reģistrjutīgu rakstzīmi, jums jānorāda arguments [salīdzināt], jo pēc noklusējuma VBA to uzskata par argumentu, pat ja jūs to nepiegādājat.
  • Instr ir VBA funkcija, tāpēc to nevar izmantot Excel darblapā tāpat kā citas iebūvētās formulas.
  • Ja funkcija nevar atrast 2. virkni, rezultāts būs nulle.

$config[zx-auto] not found$config[zx-overlay] not found