![](https://codky.com/wp-content/uploads/2024/11/2266-1024x576.png)
A função `InStr` no VBA (Visual Basic for Applications) é usada para localizar a posição de uma substring dentro de outra string. Essa função retorna a posição do primeiro caractere da substring localizada ou zero se a substring não for encontrada. Ela é muito útil quando você precisa analisar ou manipular strings. A sintaxe básica da função `InStr` é a seguinte:
InStr([start], string1, string2, [compare])
Parâmetros:
- start (Opcional): Posição a partir da qual começar a busca na `string1`. Se omitido, a busca começa no início da `string1` (posição 1).
- string1: A string na qual você está à procura da `string2`.
- string2: A substring que você deseja localizar em `string1`.
- compare (Opcional): Tipo de comparação a ser usada. Pode ser `vbBinaryCompare` (comparação binária – diferencia maiúsculas de minúsculas) ou `vbTextCompare` (comparação textual – ignora diferenças de maiúsculas e minúsculas). Se omitido, o padrão é `vbBinaryCompare`.
Exemplos de Uso:
Dim texto As String
Dim posicao As Integer
texto = "Hello World"
posicao = InStr(texto, "World") ' Retorna 7
Dim texto As String
Dim posicao As Integer
texto = "Hello World"
posicao = InStr(8, texto, "World") ' Retorna 0, porque a busca começa após "World"
Dim texto As String
Dim posicao As Integer
texto = "Hello World"
posicao = InStr(1, texto, "world", vbTextCompare) ' Retorna 7
- Busca Simples:
- Busca com Posição Inicial:
- Busca Ignorando Maiúsculas e Minúsculas:
Notas:
- A função retorna 0 se `string2` não for encontrada dentro de `string1`.
- Se o parâmetro `start` for maior que a longitude de `string1`, a função irá retornar 0.
- É importante ter cuidado ao usar as comparações, especialmente com o parâmetro opcional `compare`, para garantir que você obtenha os resultados desejados.
Esses exemplos devem ajudar a entender como integrar e utilizar a função `InStr` em seus projetos VBA para efetuar buscas em strings de forma eficiente.