La función VBA INSTR devuelve un entero correspondiente a la primera posición encontrada del valor en la cadena de caracteres (o el valor 0 si no se encuentra ninguna coincidencia).
InStr(posición_inicial, texto, valor_búsqueda)
O
InStr(posición_inicial, texto, valor_búsqueda, caso)
Usando la función InStr para determinar la posición de la palabra "excel" (comenzando la búsqueda desde el carácter 1 del nombre del sitio):
Sub InStrExample1() sitename = "www.moonexcel.com.ua" 'Posición de la palabra "excel" en sitename position = InStr(1, sitename, "excel") MsgBox position 'Devoluciones: 9 End Sub
Usando la función InStr para encontrar la posición de la palabra "EXCEL" (esta vez agregando un valor de "1" al cuarto argumento para ignorar el caso):
Sub InStrExample2() sitename = "www.moonexcel.com.ua" 'Posición de la palabra "EXCEL" en sitename (sin distinción entre mayúsculas y minúsculas) position = InStr(1, sitename, "EXCEL", 1) MsgBox position 'Devoluciones: 9 End Sub
La función InStr también se puede utilizar para determinar si el nombre de un sitio contiene una cadena de búsqueda:
Sub InStrExample3() sitename = "www.moonexcel.com.ua" If InStr(1, sitename, "excel") > 0 Then MsgBox "¡Entonces!" End If End Sub
En este ejemplo, si se encuentra la posición, la función devuelve un número mayor que 0 y muestra un cuadro de diálogo.