Exceli VBA sisendfunktsioon
Instrumenti VBA-s kasutatakse antud alamstringi positsiooni väljaselgitamiseks stringis pärast funktsiooni võrdlusmeetodi täpsustamist. Selle funktsiooni jaoks on neli erinevat võrdlusmeetodit, Instr on stringifunktsioon, kuid funktsiooni tagastatud väljund on numbriline, nii et see funktsioon väljastatakse täisarvu muutujana.
String VBA-s pole muud kui tähemärkide rida, st kõiki topelt jutumärkidega varustatud tekste käsitletakse stringidena. Funktsioon InStr on sisseehitatud tekstifunktsioon, mida kasutatakse stringide manipuleerimiseks. Näiteks - kui soovite eraldada lausest alamstringi või soovite rakendada fondikujunduse muudatusi konkreetsele stringile rea tähemärkides või kui soovite leida märgi positsiooni ja palju muid võimalusi, võite kasutage InStr.

Süntaks

Sellel on 4 argumenti, nagu on näidatud alloleval pildil.
- (Start): see pole kohustuslik. See on arvuline väärtus, mille peame määrama, millisest stringi asukohast Funk funktsioon hakkab tarnitud teksti otsima. Näiteks: kui soovite otsida iseloomu "a" sõna "Bangalore" alates 3 rd seisukoht, peame ütlema Instr funktsiooni stardipositsiooni 3. Nii alates 3 rd seisukoht, iseloomu "a" on võetud 5 th asendis. Kui ignoreerite seda parameetrit, on vaikeväärtus 1.
- String 1: See on tegelik string, mida tarnime, st proovime sellest tekstist leida alamstringi. Näiteks kui otsite „Bangalore” stringi „a” , Bangalore String 1.
- String 2: See pole midagi muud kui see, mida string otsime. Näiteks, kui otsite string "a" on "Bangalore," String 2 on .
- (Võrdle): See on jällegi valikuline argument. Argumendis (võrrelge) on saadaval kolme tüüpi valikuid.

- vbBinaryCompare: see pole midagi muud kui stringi 1 alamstringi (string 2) tõstutundlik otsing. Näiteks kui otsime sõnas „Bangalore” sõna „ a” , tagastaks Instr selle tulemuseks 2 ja kui te otsivad sõnast "Bangalore" tähte "A" , tagastaks Instr tulemuseks 0, kuna tarnitud string on suurtäht.
Samuti võime argumendiks panna nulli (0).
vbTextCompare: See ei ole tõstutundlik otsing stringi 2 string 1. Näiteks, kui me otsime "a" sõna "Bangalore," Instr Jõutakse 2 tulemusena, ja kui te otsite " A ” sõnas “ Bangalore ” tagastaks Instr ka 2. Loogika on A = a, B = b, C = c jne.
Argumendiks võime panna ka ühe (1).
vbDatabaseCompare: Seda kasutatakse teie andmebaasi, st Microsoft Accessi andmebaasi teabe võrdlemiseks.
Argumendiks võime panna ka ühe (-1).
Viis parimat näidet VBA Instr-funktsiooni kasutamiseks
Näide 1
Alustame esimese näitega. Sõnas Bangalore leidke tegelase asend a.
Allolev kood täidab meie jaoks ülesande.
Kood:
Sub Instr_Näide1 () Dim i Variant i = InStr ("Bangalore", "a") MsgBox i End Sub
Nüüd käivitage ülaltoodud VBA-kood, kasutades klahvi F5, või saate seda koodi käitada ka käsitsi, nagu on näidatud allpool toodud ekraanipildil.

Väljund:

Näide 2
Nüüd sõnas Bangalore leidke märgi “a” asend kolmandalt positsioonilt.
Allolev kood täidab meie jaoks ülesande.
Kood:
Sub Instr_Näide2 () Dim i Variant i = InStr (3, "Bangalore", "a") MsgBox i End Sub
Ülaltoodud koodi käivitamiseks võite kasutada klahvi F5 või käitada seda koodi ka käsitsi, nagu on näidatud allpool toodud ekraanipildil.

Väljund:

Nüüd vaadake ülaltoodud pildil erinevust eelmisest koodist. Kuna meil on nimetatud lähtepositsioon iseloomu nagu 3, siis ignoreeritakse esimene märk "a" on 2 nd asendis.
Näide # 3
Nüüd näeme suurt ja väiketähti otsivat otsingut. Otsige sõnast Bangalore täht „A.”
Selleks peame pakkuma võrdlusargumendi kui vbBinaryCompare.
Kood:
Sub Instr_Näide3 () Dim i Variant i = InStr (1, "Bangalore", "A", vbBinaryCompare) MsgBox i End Sub
Käivitage see kood nüüd klahviga F5 või saate selle käitada ka käsitsi.

Väljund:

Since we have supplied the compare argument as vbBinaryCompare Instr function returned the result as zero because there are no uppercase letter “A” exists.
Example #4
Now we will see one more case sensitive search. In the word Bangalore, find the letter “A.” The previous example returned the result as zero.
In order to overcome the case sensitive approach here, we need to supply the compare argument as vbTextCompare.
Code:
Sub Instr_Example4() Dim i As Variant i = InStr(1, "Bangalore", "A", vbTextCompare) MsgBox i End Sub
Now Run, this code using the F5 Key, or you can also run this code manually.

Output:

Example #5
Now we will see the advanced level of Instr function. If you have many sheets that have a more or less similar name and you want to hide all those sheets at once, we can use the below code to hide a specific sheet.
For example, I have 5 sheets named Summary 1, Summary 2, Summary 3, Summary 4, and Data Sheet.

Now I want to hide all those sheets which have the word “Summary.” Use the below code to hide all the sheets which have the word Summary in its name.
Code:
Sub To_Hide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVeryHidden End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub
Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Similarly, in order to unhide all those sheets, use the below code.
Code:
Sub To_UnHide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVisible End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub
Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Things to Remember
- Instr is a case sensitive function. In order to eliminate this case sensitive issue, you need to supply the (compare) argument as.
- If you are searching for case sensitive character, you need to supply the (compare) argument as, by default, VBA takes this as the argument even if you do not supply.
- Instr on VBA funktsioon, nii et te ei saa seda Exceli töölehel kasutada nagu teisi sisseehitatud valemeid.
- Kui funktsioon ei leia stringi 2, on tulemus null.