Buscar cadena de texto en columna

22/09/2004 - 12:47 por pacocua | Informe spam
Hola

si tengo la siguiente columna:

angel
antonio
manuel

y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
"angel"... ¿como puedo hace para que me devuelva "antonio"?

Gracias

Preguntas similare

Leer las respuestas

#6 Fernando Arroyo
23/09/2004 - 16:05 | Informe spam
La fórmula matricial a mí me funciona sin problemas:

http://www.excelsp.com/ejemplos/eje...040923.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Javier Teran Gonzalez" escribió en el mensaje news:
Hemos intentado seguir vuestras indicaciones y he conseguido esto
La función matricial no se por que, pero no funciona (salen los {})
La otra función no era exactamente lo que buscabamos

Esta función se aproxima a lo que queríamos
De una lista de gente da el valor siguiente a lo que estas poniendo a no ser
que coincida que dara ese.

Antonio
Javier
Marta
Tomas

Si pongo Ant obtengo Antonio
Si pongo Antu obtengo Javier

Sub BuscarNombre()
Columna = ActiveCell.Column
Fila = ActiveCell.Row
nombre = ActiveCell.Value
Range("TABLA").Select

For Each cell In Selection
Elemento = cell.Value
If StrComp(Elemento, nombre, vbTextCompare) >= 0 Then Exit For
Next

Range(Cells(Fila, Columna), Cells(Fila, Columna)).Value = Elemento
ActiveCell.Offset(1, 0).Activate
End Sub

Ahora solo falta controlar la macro en algún evento.

¿Hay algún evento como el KEYPRESS de visual para que cuando de al ENTER se
ejecute la macro?

Gracias por vuestra ayuda



"Paco Cua" escribió en el mensaje
news:
> Hola
>
> si tengo la siguiente columna:
>
> angel
> antonio
> manuel
>
> y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
> "angel"... ¿como puedo hace para que me devuelva "antonio"?
>
> Gracias


Respuesta Responder a este mensaje
#7 Javier Teran Gonzalez
24/09/2004 - 09:12 | Informe spam
ya he visto que funciona tu ejemplo pero no hacía lo que yo quería.

En la página web que me has mandado he visto cosas muy interesantes.

Una de ellas las "Funciones personalizadas" que desconocia. Con eso me voy
acercando mucho mas a la solución de mi problema con la función siguiente


Function BuscarNombre(Celda As Range, Tabla As Range) As String
On Error GoTo Err_Busca
Columna = Celda.Column
Fila = Celda.Row
Nombre = Celda.Value
For Each cell In Tabla
Elemento = cell.Value
If StrComp(Elemento, Nombre, vbTextCompare) >= 0 Then Exit For
Next
BuscarNombre = Elemento
Exit Function
Err_Busca:
MsgBox Err.Number & Err.Description
End Function

la manera de usarla es en el excel llamando a la función

=BuscarNombre(B12;A1:A15)

Donde B12 es el valor a buscar y A1:A15 la tabla donde tengo los nombres a
buscar.

Gracias por vuestra colaboración


"Fernando Arroyo" escribió en el mensaje
news:
La fórmula matricial a mí me funciona sin problemas:

http://www.excelsp.com/ejemplos/eje...040923.xls

Un saludo.


Fernando Arroyo
MS MVP - Excel


"Javier Teran Gonzalez" escribió en el mensaje
news:
Hemos intentado seguir vuestras indicaciones y he conseguido esto
La función matricial no se por que, pero no funciona (salen los {})
La otra función no era exactamente lo que buscabamos

Esta función se aproxima a lo que queríamos
De una lista de gente da el valor siguiente a lo que estas poniendo a no
ser
que coincida que dara ese.

Antonio
Javier
Marta
Tomas

Si pongo Ant obtengo Antonio
Si pongo Antu obtengo Javier

Sub BuscarNombre()
Columna = ActiveCell.Column
Fila = ActiveCell.Row
nombre = ActiveCell.Value
Range("TABLA").Select

For Each cell In Selection
Elemento = cell.Value
If StrComp(Elemento, nombre, vbTextCompare) >= 0 Then Exit For
Next

Range(Cells(Fila, Columna), Cells(Fila, Columna)).Value = Elemento
ActiveCell.Offset(1, 0).Activate
End Sub

Ahora solo falta controlar la macro en algún evento.

¿Hay algún evento como el KEYPRESS de visual para que cuando de al ENTER
se
ejecute la macro?

Gracias por vuestra ayuda



"Paco Cua" escribió en el mensaje
news:
> Hola
>
> si tengo la siguiente columna:
>
> angel
> antonio
> manuel
>
> y escribo "ant", con la funcion -buscarv- solo consigo que me devuelva
> "angel"... ¿como puedo hace para que me devuelva "antonio"?
>
> Gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida