Přejít na hlavní obsah

Řetězcové funkce InStr v aplikaci VBA Excel: příklady použití a vysvětlení

Funkce InStr patří mezi nejužitečnější a nejpoužívanější funkce v programovacím jazyce VBA Excel. Umožňují najít pozici prvního vstupu jednoho řádku nebo symbolu v jiném řádku, což je často vyžadováno při zpracování textových dat. Díky své flexibilitě a možnosti nastavit různé možnosti vyhledávání se funkce InStr staly nedílnou součástí mnoha skriptů a maker.

Výhodou funkcí InStr je jejich snadné použití. Přijímají dva povinné argumenty: zdrojový řádek a vyhledávací řádek. Vrácená hodnota funkce je celé číslo, které představuje pozici hodnoty nalezené v řádku nebo 0, pokud není nalezena hodnota. To umožňuje efektivní kontrolu určitých znaků nebo podřazení v textových datech a provádění správných akcí v závislosti na výsledcích vyhledávání.

Funkce InStr mají také další možnosti, které vám umožňují přizpůsobit vyhledávání. Můžete například zadat počáteční pozici vyhledávání, ignorovat registr znaků nebo zadat typ srovnání. To umožňuje přesnější definování vyhledávacích podmínek a díky tomu jsou funkce InStr velmi flexibilní.

Co je funkce InStr v aplikaci VBA Excel a jak ji používat

Funkce InStr v VBA Excel se používá k vyhledání podřetězce na řádku. Vrátí pozici prvního vstupu podstavce do řádku nebo 0, pokud není podstavec nalezen. Funkci lze použít k řešení různých problémů, jako je hledání konkrétního slova v textu, kontrola určitého znaku a další.

Syntaxe funkce InStr je následující:

  • InStr([úvod_pozice], řádek_de_zobrazit, řádek_čto_zobrazit, [typ_přijetí])
  • úvodní_pozice je volitelná možnost, která označuje pozici, na které je třeba začít hledat podstavec v řádku. Pokud tato možnost není zadána, vyhledávání bude zahájeno na začátku řádku.
  • řádek_de_zobrazit-řádek, ve kterém bude vyhledávání provedeno. Může to být proměnná, literát nebo výraz.
  • řádek_co_zobrazit je řádek, který je třeba najít v řádku_de_zobrazit. Může to být proměnná, literát nebo výraz.
  • typ_srovnání je volitelný parametr, který udává typ porovnání řádků. Pokud tato možnost není zadána, použije se srovnání s přihlédnutím k registru znaků.

Příklad použití funkce InStr v aplikaci VBA Excel:

Dim myString As StringDim searchString As StringDim position As IntegermyString = "Привет, мир!"searchString = "мир"position = InStr(myString, searchString)If position > 0 ThenMsgBox "Подстрока найдена на позиции " & positionElseMsgBox "Подстрока не найдена"End If

V tomto příkladu funkce InStr hledá podstavec "svět" v řádku " Ahoj, světe!". Pokud je podstavec nalezen, zobrazí se zpráva s pozicí prvního umístění podstavce. Pokud není podstavec nalezen, zobrazí se Zpráva "podstavec nenalezen".

Funkce InStr je velmi užitečná a výkonná při práci s textem v aplikaci VBA Excel. Umožňuje snadné řešení problémů s vyhledáváním a ověřováním přítomnosti podstavce na řádku. Pouze je nutné správně použít syntaxi a parametry funkce.

Popis funkce InStr

Funkce InStr v VBA Excel se používá k vyhledání podřetězce v jiném řádku a vrací pozici prvního symbolu nalezené podřady.

Syntaxe funkce InStr:

ParametrPopis
string1Povinný. Řetězec, ve kterém se bude hledat.
string2Povinný. Podklad, který je třeba najít.
[start]Nepovinný. Pozice symbolu, kde je třeba začít hledat. Pokud není zadáno, vyhledávání začíná na začátku řetězce string1.
[compare]Nepovinný. Parametr, který určuje typ srovnání. Může mít jednu z hodnot: vbBinaryCompare (binární srovnání), vbtextcompare (textové srovnání). Ve výchozím nastavení se používá vbBinaryCompare.

Pokud je podřiště nalezeno v řádku, funkce InStr Vrátí číslo symbolu (pozici), ze kterého podřazení začíná. Pokud není nalezena podřada, funkce vrátí 0.

Příklad použití funkce InStr:

Dim myString As String

Dim position As Integer

myString = "abc def ghi jkl"

position = InStr(myString, "def")

'Výsledek: position = 5

position = InStr(myString, "xyz")

'Výsledek: position = 0

V prvním příkladu funkce InStr najde podstavec " def "v řádku" abc def ghi jkl " a vrátí pozici, kde podřazení začíná (5). Ve druhém příkladu funkce nenajde "xyz" v řádku a vrátí 0.

Příklady použití InStr

Níže je několik příkladů použití funkce InStr v aplikaci VBA Excel:

    Příklad 1-Hledání podstavce v řádku:

Dim mainString As StringDim searchString As StringDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "подстрока"result = InStr(mainString, searchString)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If
Dim mainString As StringDim searchString As StringDim startPosition As IntegerDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "строки"startPosition = 15result = InStr(startPosition, mainString, searchString)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If
Dim mainString As StringDim searchString As StringDim result As IntegermainString = "Это пример строки, в которой нужно найти подстроку"searchString = "пОдСтрока"result = InStr(1, mainString, searchString, vbTextCompare)If result > 0 ThenMsgBox "Подстрока найдена в позиции " & resultElseMsgBox "Подстрока не найдена"End If

To je jen několik příkladů použití funkce InStr. Tuto funkci můžete použít k řešení různých problémů souvisejících s vyhledáváním a prací s řetězci v aplikaci VBA Excel.

Vysvětlení fungování funkce InStr

Syntaxe funkce InStr je následující:

InStr([начальная_позиция], строка, подстрока[, тип_сравнения])
  • úvodní_pozice je volitelná možnost, která určuje, z jaké pozice v řádku začít hledat podřaz. Pokud tato možnost není zadána, vyhledávání začíná prvním znakem řádku.
  • řádek je povinná možnost, ve které bude vyhledávání provedeno.
  • podřazení je povinná volba, kterou musíte najít v řádku.
  • typ_srovnání je volitelná možnost, která určuje typ srovnání pro vyhledání podstavce. Může mít hodnoty 0, 1 nebo 2. Pokud tento parametr není zadán, použije se binární srovnání.

Funkce InStr vrací celé číslo, které představuje pozici prvního vstupu podřetězce v řádku. Pokud není nalezena podřada, funkce vrátí 0.

Příklad použití funkce InStr:

Dim str As Stringstr = "Пример строки"Dim position As Integerposition = InStr(str, "строка")If position > 0 ThenMsgBox "Подстрока найдена в позиции: " & positionElseMsgBox "Подстрока не найдена"End If

V tomto příkladu bude Funkce InStr hledat podklad " řetězec "v řádku"příklad řádku". Pokud je podstavec nalezen, zobrazí se Zpráva o jeho pozici, jinak bude vyvedena zpráva, že podstavec nebyl nalezen.