Instr in Excel VBA - Macro Excel ușor

Cuprins

Funcția de instrumente simple | Poziția de început | Zero | Instr și If | Căutare fără majuscule

Utilizare Instr în Excel VBA pentru a găsi poziția unui sub șir într-un șir. Funcția Instr este destul de versatilă.

Plasați un buton de comandă pe foaia de lucru și adăugați liniile de cod de mai jos. Pentru a executa liniile de cod, faceți clic pe butonul de comandă de pe foaie.

Funcția de instrumente simple

În mod implicit, funcția Instr începe să caute la începutul șirului (poziția 1).

Cod:

Starea dim ca Șir
state = "Virginia"
MsgBox InStr (stat, „gin”)

Rezultat:

Notă: șir "gin" găsit în poziția 4.

Poziția de pornire

A doua funcție Instr de mai jos începe să caute în poziția 7.

Cod:

Starea dim ca Șir
state = "Carolina de Sud"
MsgBox InStr (stare, "o")
MsgBox InStr (7, stare, "o")

Rezultat:

Explicație: prima funcție Instr găsește șirul "o" în poziția 2. A doua funcție Instr începe să caute în poziția 7 și găsește șirul "o" în poziția 10.

Zero

Funcția Instr returnează 0 dacă șirul nu este găsit (important așa cum vom vedea în continuare).

Cod:

Starea estompată ca șir
state = "Florida"
MsgBox InStr (stat, „noi”)

Rezultat:

Concluzie: șirul „noi” nu a fost găsit.

Instr și If

Să creăm un program simplu VBA care utilizează Funcția Instr.

Cod:

Diminuează starea ca șir, sub șir ca șir
state = Range ("A2"). Valoare
substring = Range ("B2"). Valoare
Dacă InStr (stare, șir)> 0 Atunci
Interval ("C2"). Valoare = "Găsit"
Altfel
Interval ("C2"). Valoare = "Nu a fost găsit"
End If

Rezultatul când faceți clic pe butonul de comandă de pe foaie:

Explicație: șirul „outh” găsit în poziția 2. Funcția Instr returnează 2. Ca rezultat, Excel VBA plasează șirul „Găsit” în celula C2.

Căutare fără majuscule și minuscule

În mod implicit, funcția Instr efectuează o căutare sensibilă la majuscule. Introduceți șirul „dakota” în celula B2 și faceți clic pe butonul de comandă de pe foaie.

Explicație: șirul „dakota” nu a fost găsit (prima literă nu este scrisă cu majuscule). Funcția Instr returnează 0. Ca rezultat, Excel VBA plasează șirul „Not Found” în celula C2.

Pentru a efectua o căutare diferențiată de majuscule și minuscule, actualizați codul după cum urmează:

Diminuează starea ca șir, sub șir ca șir
state = Range ("A2"). Valoare
substring = Range ("B2"). Valoare
Dacă InStr (1, state, substring, vbTextCompare)> 0 Atunci
Interval ("C2"). Valoare = "Găsit"
Altfel
Interval ("C2"). Valoare = "Nu a fost găsit"
End If

Rezultatul când faceți clic pe butonul de comandă de pe foaie:

Explicație: funcția Instr prezentată mai sus are 4 argumente. Pentru a efectua o căutare diferențiată de majuscule, specificați întotdeauna o poziție de început (primul argument) și utilizați vbTextCompare (al patrulea argument).

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave