Instr w Excel VBA - Łatwe makra Excel

Spisie treści

Prosta funkcja Instr | Pozycja początkowa | Zero | Instr i If | Wyszukiwanie bez rozróżniania wielkości liter

Posługiwać się Instr w Excel VBA znaleźć pozycję podciągu w ciągu. Funkcja Instr jest dość wszechstronna.

Umieść przycisk polecenia w arkuszu i dodaj poniższe wiersze kodu. Aby wykonać linie kodu, kliknij przycisk polecenia na arkuszu.

Prosta funkcja Instr

Domyślnie funkcja Instr rozpoczyna wyszukiwanie na początku ciągu (pozycja 1).

Kod:

Stan przyciemnienia As String
stan = „Wirginia”
MsgBox InStr(stan, "gin")

Wynik:

Uwaga: ciąg „gin” znaleziony na pozycji 4.

Pozycji startowej

Druga funkcja Instr poniżej rozpoczyna wyszukiwanie od pozycji 7.

Kod:

Stan przyciemnienia As String
stan = „Karolina Południowa”
MsgBox InStr(stan, "o")
MsgBox InStr(7, stan, "o")

Wynik:

Objaśnienie: pierwsza funkcja Instr znajduje ciąg „o” na pozycji 2. Druga funkcja Instr rozpoczyna wyszukiwanie od pozycji 7 i znajduje ciąg „o” na pozycji 10.

Zero

Funkcja Instr zwraca 0, jeśli ciąg nie zostanie znaleziony (ważne, jak zobaczymy dalej).

Kod:

Stan przyciemnienia As String
stan = "Floryda"
MsgBox InStr(stan, "nas")

Wynik:

Wniosek: nie znaleziono ciągu „us”.

Instr i If

Stwórzmy prosty program VBA, który wykorzystuje Funkcja instr.

Kod:

Stan dim As String, podciąg As String
stan = Zakres("A2").Wartość
substring = Zakres("B2").Value
Jeśli InStr(stan, podciąg) > 0 Wtedy
Zakres("C2").Value = "Znaleziono"
W przeciwnym razie
Range("C2").Value = "Nie znaleziono"
Zakończ, jeśli

Wynik po kliknięciu przycisku polecenia na arkuszu:

Objaśnienie: ciąg „outh” znaleziony na pozycji 2. Funkcja Instr zwraca 2. W rezultacie Excel VBA umieszcza ciąg „Found” w komórce C2.

Wyszukiwanie bez rozróżniania wielkości liter

Domyślnie funkcja Instr wykonuje wyszukiwanie z uwzględnieniem wielkości liter. Wprowadź ciąg „dakota” do komórki B2 i kliknij przycisk polecenia na arkuszu.

Objaśnienie: nie znaleziono ciągu „dakota” (pierwsza litera nie jest wielka). Funkcja Instr zwraca 0. W rezultacie Excel VBA umieszcza ciąg „Nie znaleziono” w komórce C2.

Aby przeprowadzić wyszukiwanie bez rozróżniania wielkości liter, zaktualizuj kod w następujący sposób:

Stan dim As String, podciąg As String
stan = Zakres("A2").Wartość
substring = Zakres("B2").Value
Jeśli InStr(1, stan, podciąg, vbTextCompare) > 0 Wtedy
Zakres("C2").Value = "Znaleziono"
W przeciwnym razie
Range("C2").Value = "Nie znaleziono"
Zakończ, jeśli

Wynik po kliknięciu przycisku polecenia na arkuszu:

Wyjaśnienie: pokazana powyżej funkcja Instr ma 4 argumenty. Aby przeprowadzić wyszukiwanie bez rozróżniania wielkości liter, zawsze określaj pozycję początkową (pierwszy argument) i używaj vbTextCompare (czwarty argument).

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave