Inštalácia v programe Excel VBA - ľahké makrá programu Excel

Obsah

Jednoduchá funkcia Instr | Počiatočná pozícia | Nula | Instr a If | Vyhľadávanie nerozlišuje malé a veľké písmená

Použite Instr v Excel VBA nájsť pozíciu podreťazca v reťazci. Funkcia Instr je veľmi univerzálna.

Na pracovný hárok umiestnite príkazové tlačidlo a nižšie zadajte riadky kódu. Ak chcete spustiť riadky kódu, kliknite na príkazové tlačidlo na hárku.

Jednoduchá funkcia Instr

Štandardne začne funkcia Instr hľadať na začiatku reťazca (pozícia 1).

Kód:

Stmievaný stav ako reťazec
štát = "Virgínia"
MsgBox InStr (stav, „gin“)

Výsledok:

Poznámka: Reťazec „gin“ sa nachádza na pozícii 4.

Počiatočná pozícia

Druhá nižšie uvedená funkcia Instr začne hľadať na pozícii 7.

Kód:

Stmievaný stav ako reťazec
štát = "Južná Karolína"
MsgBox InStr (stav, "o")
MsgBox InStr (7, stav, "o")

Výsledok:

Vysvetlenie: prvá funkcia Instr nájde na pozícii 2 reťazec „o“. Druhá funkcia Instr začne hľadať na pozícii 7 a na pozícii 10 nájde reťazec „o“.

Nula

Funkcia Instr vráti 0, ak sa reťazec nenájde (dôležité, ako uvidíme ďalej).

Kód:

Stmievaný stav ako reťazec
štát = "Florida"
MsgBox InStr (štát, „my“)

Výsledok:

Záver: reťazec „nás“ nebol nájdený.

Instr a If

Vytvorme jednoduchý program VBA, ktorý používa príponu Funkcia Instr.

Kód:

Dim stav ako reťazec, podreťazec ako reťazec
state = Range ("A2"). Hodnota
podreťazec = Rozsah ("B2"). Hodnota
Ak InStr (stav, podreťazec)> 0 Potom
Rozsah („C2“). Hodnota = „Nájdené“
Inak
Rozsah („C2“). Hodnota = „Nenašiel sa“
Koniec Ak

Výsledok po kliknutí na príkazové tlačidlo na hárku:

Vysvetlenie: reťazec „outh“ sa našiel na pozícii 2. Funkcia Instr vráti 2. Výsledkom je, že Excel VBA umiestni reťazec „Nájdené“ do bunky C2.

Vyhľadávanie nerozlišuje malé a veľké písmená

Funkcia Instr štandardne vykonáva hľadanie malých a veľkých písmen. Do bunky B2 zadajte reťazec „dakota“ a kliknite na príkazové tlačidlo na hárku.

Vysvetlenie: reťazec „dakota“ nebol nájdený (prvé písmeno nie je veľké). Funkcia Instr vráti hodnotu 0. Výsledkom je, že Excel VBA umiestni do bunky C2 reťazec „Nenašiel sa“.

Ak chcete vykonať vyhľadávanie bez rozlišovania malých a veľkých písmen, aktualizujte kód nasledovne:

Dim stav ako reťazec, podreťazec ako reťazec
state = Range ("A2"). Hodnota
podreťazec = Rozsah ("B2"). Hodnota
Ak InStr (1, stav, podreťazec, vbTextCompare)> 0 Potom
Rozsah („C2“). Hodnota = „Nájdené“
Inak
Rozsah („C2“). Hodnota = „Nenašiel sa“
Koniec Ak

Výsledok po kliknutí na príkazové tlačidlo na hárku:

Vysvetlenie: Vyššie uvedená funkcia Instr má 4 argumenty. Ak chcete vykonať vyhľadávanie bez rozlišovania malých a veľkých písmen, vždy zadajte počiatočnú pozíciu (prvý argument) a použite vbTextCompare (štvrtý argument).

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave