Funkcja InStr VBA – Jak zwrócić pozycję znaku w tekscie

Ostatnio zaktualizowano: 14 listopada, 2017 przez admin

1. Funkcja InStr VBA – Opis

Funkcja InStr VBA zwraca pozycję znaku w ciągu znaków. Jeśli chcemy, którą pozycje w danym tekscie zajmuje znak, lub wyraz powinniśmy skorzystać właśnie z tej funkcji. Funkcja może także służyć do szukania wyrazów w tekcie i wycinania ich w połączeniu z funkcj Mid VBA. Jeśli chcielibyśmy znleźć pozycję ciągu znaków w danym tekscie zaczynając od końca, powinniśmy skorzystać z funkcji InstrRev.

2. Funkcja VBA InStr – Składnia

'datatalk.pl
InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])

Start: Pozycja w tekscie, od której zaczynamy wyszukiwanie.

String1: Ciąg tekstowy, w którym szukamy ciągu znaków.

String2: Szukany ciąg znaków.

Compare As VbCompareMethod: Argument opcjonlny. Typ porównania. Wartość default to 0. Wartości dla argumentu przedstawia poniższa tabela:

StałaWartośćOpis
vbBinaryCompare0Porównanie binarne. Uwzględnia wielkość znaków.
vbTextCompare1Porównanie tekstowe. Nie uwzględnia wielkości znaków

Zwrot funkcji: Number / Wartość liczbowa.

3. Funkcja VBA InStr – Przykład

Jak używać funkcji InStr w VBA Excel? Poniżej przykłady użycia funkcji InStr w Edytorze VisualBasic.

Przykład 1: Przykład użycia funkcji InStr VBA – wynik w oknie MsgBox.

'datatalk.pl
Dim strValue As String
strValue = "Nauka funkcji VBA"
MsgBox InStr(1, strValue, "f")
MsgBox InStr(1, strValue, "a")
MsgBox InStr(1, strValue, "A", vbBinaryCompare)
MsgBox InStr(1, strValue, "A", vbTextCompare)

Przykład 2: VBA InStr – przykład funkcji – wynik w arkuszu Excel.

'datatalk.pl
Dim strValue2 As String
strValue2 = "Nauka funkcji VBA"
Range("A1") = InStr(6, strValue2, "f")
Range("A2") = InStr(6, strValue2, "a")
Range("A3") = InStr(6, strValue2, "A", vbBinaryCompare)
Range("A4") = InStr(6, strValue2, "A", vbTextCompare)

Przykład 3: VBA InStr – Jak wyciągnąć tekst z innego tekstu. Tekst pomiędzy dwoma spacjami.

'datatalk.pl
Dim strValue3 As String
Dim intValue1 As Integer
Dim intValue2 As Integer

strValue3 = "Nauka funkcji VBA"
intValue1 = InStr(1, strValue3, " ")
intValue2 = InStr(InStr(1, strValue3, " ") + 1, strValue3, " ")

MsgBox Mid(strValue3, intValue1, intValue2 - intValue1)
Range("A1") = Mid(strValue3, intValue1, intValue2 - intValue1)
Funkcje VBA Excel – Funkcja InStr VBA
Funkcje VBA Excel – Funkcja InStr VBA

4. Funkcja VB InStr – Dodatkowe informacje

  • brak

5. Funkcja InStr VisualBasic – Gdzie stosować?

Funkcję możemy stosować w: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016.

Artykuł jest częścią listy funkcji VBA Excel. Listę wszystkich funkcji VBA znajdziesz pod tym adresem: Funkcje VBA.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

%d bloggers like this: