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:
- Aby użyć opcji Porównaj, która jest (-1). Jest również znany jako VbUseCompareOption.
- Aby użyć porównania binarnego, które wynosi (0). Jest również znany jako VbBinaryCompare.
- 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 ExcelPrzykł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 -
- Praca z VBA Active Cell
- Usuwanie wiersza w VBA
- Jak korzystać z transpozycji Excel VBA?
- Jak naprawić błąd 1004 przy użyciu VBA