Crear una macro para buscar un valor en una columna

21/09/2005 - 14:04 por José Luis | Informe spam
Hola, no se si sera facil o dificil hacer esto lo que quiero hacer es
que dentro de un libro yo pueda crear un boton que al pinchar dos veces
sobre el, me salga un cuadro de dialogo preguntandome por un valor a
buscar... en concreto es buscar un DNI, este campo esta en 1 columna de una
hoja de ese libro entonces quiero que cuando pinche al boton y me salga
una caja con la pregunta, introducir el valor a buscar y que me salga los
datos en del DNI ese

Columna A DNI
Columna B Nombre
Columna C primer Apellido
Columna D segundo Apellido
Columna E Empresa

¿Esto se puede hacer con una macro? ¿Es dificil? ¿Existe algun ejemplo que
se aproxime a esto?

Muchas gracias a todosun saludo



=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

José Luis Telléz Ruiz EMAIL: jltellez@ono.com Movistar: 636147132


=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

Preguntas similare

Leer las respuestas

#6 Deiniel Cardenas
26/09/2005 - 18:17 | Informe spam
Hola KL, perdona por haberme metido en otro caso que no era uno abierto por
mí. Pero me pareció muy semejante a otra cosa que necesito. Crees que puedes
ayudarme con lo que te escribí anteriormente?

La pregunta es que esta macro la instalé y a mi me funcionó perfectamente,
pero que si existía alguna forma de incorporarle a tu macro algo que sirviera
para que si existe, por ejemplo, el mismo número de DNI (en este caso), te
permitiera traerlos a todos o que al presionar alguna tecla te permita traer
al primero, luego al segundo y así hasta el final?

Ing. Deiniel Cárdenas


"KL" escribió:

Hola Jose Luis,

El codigo que te puse dos mensajes atras debe hacer lo que dicies. ?Es que
no lo hace? ?Comentas mas detalles acerca de la situacion exacta en la que
el codigo no muestra el comportamiento esperado?

Saludos,
KL


"José Luis" wrote in message
news:MWwYe.97865$
>
>
> Otra vez gracias KL, tambien funciona estoeres un Monstruo en esto de
> la excel ya solo me faltaria saber esto:
>
> ¿Que tengo que añadir al modulo para que si no esta el valor que busco, me
> salga una ventana diciendome que ese valor no existe? Un saludo
>
> =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
>
> José Luis Telléz Ruiz EMAIL: Movistar: 636147132
>
>
> =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
> "KL" escribió en el mensaje
> news:
>> Hola Jose Luis,
>>
>>> 1) Resulta curioso que si pego el modulo que tu me has escrito,
>>> funciona sin embargo si lo escribo yo, tal como esta, con todas las
>>> comas, los puntos y comillas...me da error ¿Eso por que es?
>>
>> Debe ser alguna cosita pequena que no salta demasiado a la vista. Por que
>> no pegas aqui el codigo reescrito por ti, aunque te parezca que es
>> exactamente igual al mio.
>>
>>> 2) Queria saber si es posible, como puedo hacer para que busque el DNI
>>> ya contenga 8 o 9 caracteres, eso lo queria porque algunos van con letra
>>> y otros no, en realidad ¿como se puede hacer para buscar un valor que no
>>> sabemos el contenido de caracteres que tiene? ¿Por ejemplo buscar el
>>> nombre de una empresa? Que salgan todas las empresas con los caracteres
>>> que pongamos en la caja de la preguntay que si no existe esa empresa
>>> o DNI que nos salgo un cartel diciendo por ejemplo que no existe. He
>>> visto en algunos ejemplos utilizar el comodin % pero no se como hacerlo.
>>
>> prueba usar los caracteres {*,?,~}
>>
>> * - cualquier numero de caracteres (incluido ninguno) de cualquier tipo
>> ? - cualquier caracter unico
>> ~ - convierte * y ? en caracteres normales
>>
>> p.ej.:
>> 1) si quieres encontrar cualquier celda que contenga DNI en cualquier
>> parte de la cadena, usa:
>>
>> *DNI*
>>
>> 2) si quieres encontrar celda que contenga DNI en la cuarta posicion
>> dentro de la cadena, usa
>>
>> ???DNI*
>>
>> 3) si quieres encontrar celda que contenga "?Que tal?", usa
>>
>> *?Que tal~?*
>>
>> Esto lo puedes hacer tanto en el dialogo que aparece cuando se ejecuta el
>> codigo como predefinirlo dentro del mismo codigo, p.ej:
>>
>> txt=InputBox("Introduce el DNI: ")
>> If txt<>"" Then txt="*" & txt & "*"
>> With Columns("A:A")
>> Set rng = .Find( _
>> What:=txt, _
>> After:=.Cells(1), _
>> LookIn:=xlValues, _
>> LookAt:=xlPart, _
>> SearchOrder:=xlByRows, _
>> SearchDirection:=xlNext)
>> End With
>>
>> Saludos,
>> KL
>>
>>
>
>



Respuesta Responder a este mensaje
#7 KL
27/09/2005 - 06:54 | Informe spam
Hola Deiniel,

Poder se puede. El problema esta en que ahora estoy de viaje hasta la semana
que viene y no tengo acceso a Excel. Si quieres espera a que vuelva o postea
tu cuestion en un hilo nuevo, seguro que alguien contesta antes.

Saludos,
KL


"Deiniel Cardenas" wrote in
message news:
Hola KL, perdona por haberme metido en otro caso que no era uno abierto
por
mi. Pero me parecio muy semejante a otra cosa que necesito. Crees que
puedes
ayudarme con lo que te escribi anteriormente?

La pregunta es que esta macro la instale y a mi me funciono perfectamente,
pero que si existia alguna forma de incorporarle a tu macro algo que
sirviera
para que si existe, por ejemplo, el mismo numero de DNI (en este caso), te
permitiera traerlos a todos o que al presionar alguna tecla te permita
traer
al primero, luego al segundo y asi hasta el final?

Ing. Deiniel Cardenas


"KL" escribio:

Hola Jose Luis,

El codigo que te puse dos mensajes atras debe hacer lo que dicies. ?Es
que
no lo hace? ?Comentas mas detalles acerca de la situacion exacta en la
que
el codigo no muestra el comportamiento esperado?

Saludos,
KL


"Jose Luis" wrote in message
news:MWwYe.97865$
>
>
> Otra vez gracias KL, tambien funciona estoeres un Monstruo en esto
> de
> la excel ya solo me faltaria saber esto:
>
> ?Que tengo que anadir al modulo para que si no esta el valor que busco,
> me
> salga una ventana diciendome que ese valor no existe? Un saludo
>
> =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
>
> Jose Luis Tellez Ruiz EMAIL: Movistar: 636147132
>
>
> =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
> "KL" escribio en el mensaje
> news:
>> Hola Jose Luis,
>>
>>> 1) Resulta curioso que si pego el modulo que tu me has escrito,
>>> funciona sin embargo si lo escribo yo, tal como esta, con todas
>>> las
>>> comas, los puntos y comillas...me da error ?Eso por que es?
>>
>> Debe ser alguna cosita pequena que no salta demasiado a la vista. Por
>> que
>> no pegas aqui el codigo reescrito por ti, aunque te parezca que es
>> exactamente igual al mio.
>>
>>> 2) Queria saber si es posible, como puedo hacer para que busque el
>>> DNI
>>> ya contenga 8 o 9 caracteres, eso lo queria porque algunos van con
>>> letra
>>> y otros no, en realidad ?como se puede hacer para buscar un valor que
>>> no
>>> sabemos el contenido de caracteres que tiene? ?Por ejemplo buscar el
>>> nombre de una empresa? Que salgan todas las empresas con los
>>> caracteres
>>> que pongamos en la caja de la preguntay que si no existe esa
>>> empresa
>>> o DNI que nos salgo un cartel diciendo por ejemplo que no existe. He
>>> visto en algunos ejemplos utilizar el comodin % pero no se como
>>> hacerlo.
>>
>> prueba usar los caracteres {*,?,~}
>>
>> * - cualquier numero de caracteres (incluido ninguno) de cualquier
>> tipo
>> ? - cualquier caracter unico
>> ~ - convierte * y ? en caracteres normales
>>
>> p.ej.:
>> 1) si quieres encontrar cualquier celda que contenga DNI en cualquier
>> parte de la cadena, usa:
>>
>> *DNI*
>>
>> 2) si quieres encontrar celda que contenga DNI en la cuarta posicion
>> dentro de la cadena, usa
>>
>> ???DNI*
>>
>> 3) si quieres encontrar celda que contenga "?Que tal?", usa
>>
>> *?Que tal~?*
>>
>> Esto lo puedes hacer tanto en el dialogo que aparece cuando se ejecuta
>> el
>> codigo como predefinirlo dentro del mismo codigo, p.ej:
>>
>> txt=InputBox("Introduce el DNI: ")
>> If txt<>"" Then txt="*" & txt & "*"
>> With Columns("A:A")
>> Set rng = .Find( _
>> What:=txt, _
>> After:=.Cells(1), _
>> LookIn:=xlValues, _
>> LookAt:=xlPart, _
>> SearchOrder:=xlByRows, _
>> SearchDirection:=xlNext)
>> End With
>>
>> Saludos,
>> KL
>>
>>
>
>



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