Vienkārša Instrumenta funkcija | Sākuma stāvoklis | Nulle | Instr un If | Meklēšana bez reģistrjutības
Izmantot Instr iekšā Excel VBA lai atrastu virknes apakšvirknes stāvokli. Instr funkcija ir diezgan universāla.
Ievietojiet komandas pogu savā darblapā un pievienojiet zemāk esošās koda rindiņas. Lai izpildītu koda rindiņas, noklikšķiniet uz komandas pogas lapā.
Vienkārša Instrumenta funkcija
Pēc noklusējuma funkcija Instr sāk meklēt virknes sākumā (1. pozīcija).
Kods:
Dim stāvoklis kā virkne
štats = "Virdžīnija"
MsgBox InStr (stāvoklis, "džins")
Rezultāts:
Piezīme: virkne "gin" atrasta 4. pozīcijā.
Sākuma pozīcija
Otrā Instr funkcija zemāk sāk meklēšanu 7. pozīcijā.
Kods:
Dim stāvoklis kā virkne
štats = "Dienvidkarolīna"
MsgBox InStr (stāvoklis, "o")
MsgBox InStr (7, stāvoklis, "o")
Rezultāts:
Paskaidrojums: pirmā Instr funkcija atrod virkni "o" 2. pozīcijā. Otrā Instr funkcija sāk meklēt 7. pozīcijā un atrod virkni "o" 10. pozīcijā.
Nulle
Funkcija Instr atgriež 0, ja virkne nav atrasta (svarīgi, kā mēs redzēsim tālāk).
Kods:
Dim stāvoklis kā virkne
štats = "Florida"
MsgBox InStr (valsts, "mēs")
Rezultāts:
Secinājums: virkne "mēs" nav atrasta.
Instr un If
Izveidosim vienkāršu VBA programmu, kas izmanto Instrumenta funkcija.
Kods:
Dim stāvoklis kā virkne, apakšvirkne kā virkne
valsts = diapazons ("A2"). Vērtība
apakšvirkne = diapazons ("B2"). Vērtība
Ja InStr (stāvoklis, apakšvirkne)> 0 Tad
Diapazons ("C2"). Vērtība = "Atrasts"
Citādi
Diapazons ("C2"). Vērtība = "Nav atrasts"
Beigas Ja
Rezultāts, noklikšķinot uz komandas pogas lapā:
Paskaidrojums: 2. pozīcijā atrasta virkne "outh". Funkcija Instr atgriež 2. Rezultātā Excel VBA ievieto virkni "Atrasts" šūnā C2.
Meklēšana bez reģistrjutības
Funkcija Instr pēc noklusējuma veic reģistrjutīgo meklēšanu. Ievadiet virkni "dakota" šūnā B2 un noklikšķiniet uz komandas pogas lapā.
Paskaidrojums: virkne "dakota" nav atrasta (pirmais burts nav lielais). Funkcija Instr atgriež 0. Rezultātā Excel VBA šūnā C2 ievieto virkni "Not Found".
Lai veiktu meklēšanu, neņemot vērā reģistru, atjauniniet kodu šādi:
Dim stāvoklis kā virkne, apakšvirkne kā virkne
valsts = diapazons ("A2"). Vērtība
apakšvirkne = diapazons ("B2"). Vērtība
Ja InStr (1, valsts, apakšvirkne, vbTextCompare)> 0 Tad
Diapazons ("C2"). Vērtība = "Atrasts"
Citādi
Diapazons ("C2"). Vērtība = "Nav atrasts"
Beigas Ja
Rezultāts, noklikšķinot uz komandas pogas lapā:
Paskaidrojums: iepriekš parādītajai funkcijai Instr ir 4 argumenti. Lai veiktu meklēšanu bez reģistriem, vienmēr norādiet sākuma pozīciju (pirmais arguments) un izmantojiet vbTextCompare (ceturtais arguments).