Buscando un texto en una celda activa

Hola,
Me ha surgido el siguiente problema. Quiero crear un formulario con un cuadro de texto donde el usuario pueda introducir un texto. Me gustaría crear una macro donde al pinchar sobre un botón de comando haga una búsqueda del valor introducido en la celda activa y lo devuelva si este es igual o se encuentre incluido en la cadena de caracteres de la celda activa.
Pongo como ejemplo:
If ActiveCell.Value = Datos_Buscar.Text Then
El problema de este ejemplo es que el contenido escrito en el cuadro de texto tiene que ser "exacto" al de la celda activa y yo lo que quiero es que si el usuario escribe rad y el texto de la celda activa es radar pueda entrar igualmente en el bucle If.
Gracias y un saludo,
Pablo

2 respuestas

Respuesta
1
Agregá una variable (por ej: estaValor) que devolverá la posición de la cadena del textbox en la celda activa. Si la posición es cero significará que no se encuentra.
Dim estaValor as String
estaValor = InStr(ActiveCell.Value, Datos_Buscar.Text)
If estaValor <> 0 then ?aquí será cuando el texto es encontrado...
Saludos
Elsa
http://es.geocities.com/lacibelesdepunilla/bancos
Respuesta
1
No se me ocurre una función de VBA que pueda servirte para esto, pero si una función de Excel que puedes usar desde VBA.
Te doy un ejemplo y luego te explico:
Sub Ejemplo()
x = InputBox("")
On Error Resume Next
y = Application.WorksheetFunction.Find(x, ActiveCell.Value, 1)
If y > 0 Then
MsgBox ("El texto está en la posición " & y)
Else
MsgBox ("El texto no existe")
End If
End Sub
En esta macro, por sería un valor que ingresa el usuario (puedes cambiarlo por tu cuadro de texto), luego, si el valor de esta variable existe en la celda activa, entonces podrás ver en qué posición de dicho texto. Si no existe, se provocará un error, el cual evitamos con el comando On Error Resume Next.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas