Funkcja VBA InStrRev

Wiedza o występowaniu ciągu w innym ciągu może być bardzo przydatna podczas pracy z codziennymi danymi. Oczywiście możemy to zrobić ręcznie, obliczając występowanie ciągu w innym ciągu, ale byłoby to bardzo trudne. Aby to ułatwić, mamy w VBA funkcję znaną jako INSTRREV, która służy do znalezienia zdarzenia.

Jak wyjaśniono powyżej, INSTRREV w Excel VBA służy do znalezienia wystąpienia ciągu w innym ciągu. Ta funkcja znajduje pierwsze wystąpienie ciągu w ciągu docelowym i zwraca wartość. Teraz musimy pamiętać, że ponieważ daje on występowanie łańcucha, więc zwracana wartość jest liczbowa. Ponieważ jest to funkcja porównania, podobnie jak inne funkcje w języku VBA, istnieją trzy podstawowe metody porównań.

Składnia InStrRev w Excelu VBA

Składnia funkcji VBA InStrRev w programie Excel jest następująca:

Teraz podzielmy składnię i dowiedzmy się o tym, String jest głównym ciągiem, z którego chcemy znaleźć wystąpienie podłańcucha, Start to wystąpienie liczbowe, które podajemy do łańcucha. Jeśli nie podano parametru początkowego, funkcja zaczyna szukać ciągu od końca. I porównaj to metoda porównania, którą zapewniamy dla funkcji. Istnieją trzy typy porównania dla tej funkcji:

  1. Aby użyć opcji Porównaj, która jest (-1). Jest również znany jako VbUseCompareOption.
  2. Aby użyć porównania binarnego, które wynosi (0). Jest również znany jako VbBinaryCompare.
  3. Aby użyć funkcji porównywania tekstu, która jest (1). Jest również znany jako VbTextCompare.

Ponownie, jeśli żadna z opcji porównania nie zostanie podana, funkcja automatycznie uzna to za porównanie binarne.

Teraz skorzystajmy z tej funkcji w kilku przykładach i zobaczmy, jak z niej korzystać.

Jak korzystać z programu Excel VBA InStrRev?

Teraz wypróbujmy kilka przykładów VBA InStrRev w Excelu.

Możesz pobrać ten szablon VBA InStrRev Excel tutaj - Szablon VBA InStrRev Excel

Przykład # 1 - VBA InStrRev

Weźmy na przykład, że naszym ciągiem jest „Jestem dobrym chłopcem” i znajdźmy występowanie znaku „”, który jest przestrzenią.

Krok 1: Zanim przejdziemy do VBA, najpierw włącz VBA, a następnie przejdź do sekcji kodu w sekcji programisty, aby kliknąć Visual Basic.

Krok 2: Po wejściu do edytora VB, który możemy zobaczyć w sekcji nagłówka, istnieje możliwość wstawienia. Wstaw nowy moduł z tej opcji, jak pokazano poniżej.

Krok 3: Teraz zacznijmy naszą podprocedurę w module, jak pokazano poniżej.

Kod:

 Sub Sample () End Sub 

Krok 4: Teraz zadeklaruj zmienną jako liczbę całkowitą, która będzie przechowywać dla nas wartość wyjściową funkcji.

Kod:

 Sub Sample () Dim A As Integer End Sub 

Krok 5: Teraz w zmiennej użyj funkcji INSTRREV, aby znaleźć wystąpienie „” w ciągu „Jestem dobrym chłopcem” w następujący sposób.

Kod:

 Sub Próbka () Dim A As Integer A = InStrRev („I'm a Good Boy”, „”) End Sub 

Krok 6: Teraz wyświetl wartość przechowywaną w zmiennej A za pomocą funkcji msgbox.

Kod:

 Sub Sample () Dim A As Integer A = InStrRev („I'm a Good Boy”, „”) MsgBox A End Sub 

Krok 7: Wykonajmy powyższy kod, aby uzyskać następujący wynik.

Otrzymujemy wynik jako 13, ponieważ nie podaliśmy funkcji początkowej funkcji, więc automatycznie obliczała wystąpienie od końca, a więc wynik. Okazuje się, że „” znajduje się na 13. pozycji ciągu, gdy przeszukujemy go od końca.

Przykład # 2 - VBA InStrRev

W powyższym przykładzie nie podaliśmy żadnej pozycji początkowej łańcucha. Podajmy ten czas w tym przykładzie. Dowiedzmy się z drugiej pozycji, gdzie „” występuje w ciągu.

Krok 1: Włóż nowy moduł z tej opcji, jak pokazano poniżej.

Krok 2: Ponownie zdefiniujmy podprocedurę dla naszego drugiego przykładu.

Kod:

 Sub Sample1 () End Sub 

Krok 3: zadeklaruj inną zmienną całkowitą dla przykładu.

Kod:

 Sub Sample1 () Dim A As Integer End Sub 

Krok 4: Teraz w zmiennej A znajdźmy wystąpienie „” z drugiej pozycji za pomocą funkcji INSTRREV w następujący sposób.

Kod:

 Sub Próbka 1 () Dim A jako liczba całkowita A = InStrRev („I'm a Good Boy”, „”, 2) End Sub 

Krok 5: Teraz użyj funkcji msgbox, aby wyświetlić wartość zapisaną w A.

Kod:

 Sub Próbka 1 () Dim A jako liczba całkowita A = InStrRev („I'm a Good Boy”, „”, 2) MsgBox A End Sub 

Krok 6: Teraz uruchom powyższy kod, aby znaleźć poniższy wynik, jak pokazano poniżej,

Otrzymujemy 1, ponieważ zliczamy 2, otrzymujemy I, a po jednej pozycji dostajemy występowanie „”.

Przykład # 3 - VBA InStrRev

W tym przykładzie zastosujmy metody porównania. Mamy ciąg „Indie są najlepsze” i pozwól nam znaleźć ciąg „E” przy użyciu metod porównywania tekstu i binarnego.

Krok 1: W tym samym module 1 napisz inną podprocedurę, na przykład 3.

Kod:

 Sub Sample2 () End Sub 

Krok 2: Zdefiniujmy dwie zmienne jako Liczby całkowite, które będą przechowywać wartość wystąpienia ciągu E odpowiednio w Porównaniu Tekstowym i Binarnym.

Kod:

 Sub Sample2 () Dim A, B As Integer End Sub 

Krok 3: W zmiennej A użyjmy funkcji INSTRREV z porównaniem tekstu w następujący sposób.

Kod:

 Sub Sample2 () Dim A, B As Integer A = InStrRev („India is the Best”, „E”, vbTextCompare) End Sub 

Krok 4: Teraz wyświetl wartość zapisaną w A za pomocą funkcji msgbox.

Kod:

 Sub Sample2 () Dim A, B As Integer A = InStrRev („India is the Best”, „E”, vbTextCompare) MsgBox A End Sub 

Krok 5: W zmiennej B zastosujmy porównanie binarne dla tego samego łańcucha w następujący sposób.

Kod:

 Sub Sample2 () Dim A, B As Integer A = InStrRev („India is the Best”, „E”, vbTextCompare) MsgBox AB = InStrRev („India is the Best”, „E”, vbBinaryCompare) MsgBox B End Pod 

Krok 6: Wykonaj powyższy kod, aby znaleźć pierwszy wynik przechowywany w zmiennej A, która jest następująca.

Krok 7: Naciśnij OK, aby zobaczyć wynik zapisany w zmiennej B.

W wyniku porównania binarnego otrzymujemy 0, ponieważ w naszym ciągu „e” jest obecne, a nie „E”. Obie wartości binarne są różne. Jeśli więc wartość nie zostanie znaleziona w ciągu, otrzymamy wynik równy 0.

Rzeczy do zapamiętania

  • Wartość zwracana przez tę funkcję jest liczbą.
  • Jeśli podciąg nie zostanie znaleziony, zwrócona wartość to 0.
  • Pozycja początkowa jest opcjonalna. Jeśli nie jest podany, domyślnie funkcja wyszukuje wystąpienie od końca łańcucha.
  • Metody porównania są również opcjonalne.

Polecane artykuły

To jest przewodnik po VBA InStrRev. Tutaj omawiamy sposób korzystania z Excel VBA InStrRev wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Praca z VBA Active Cell
  2. Usuwanie wiersza w VBA
  3. Jak korzystać z transpozycji Excel VBA?
  4. Jak naprawić błąd 1004 przy użyciu VBA

Kategoria: