Macro para buscar desde una hoja datos de otra

30/10/2009 - 23:19 por Jorge | Informe spam
Hola. Como se podría crear una macro que desde una hoja, por ejemplo Hoja1,
busque los datos en una columna determinada, por ejemplo b, de la hoja 2.
Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
31/10/2009 - 04:53 | Informe spam
hola, Jorge !

Como se podria crear una macro que desde una hoja, por ejemplo Hoja1
busque los datos en una columna determinada, por ejemplo b, de la hoja 2.



op1: usando el metodo <objeto hoja>.Cells.Find(
op2: usando funciones de busqueda desde vba: WorksheetFunction.VLookup(.
op_n: ??? (que es exactamente lo que necesitas resolver ?)

saludos,
hector.
Respuesta Responder a este mensaje
#2 Jorge
01/11/2009 - 16:46 | Informe spam
Hola Hector Miguel: Lo que quiero es estar en la hoja1, que al hacer click en
el metodo abreviado de la macro, por ejemplo, Ctrl+b, se habra el cuadro de
dialogo (de la ficha inicio) Buscar y seleccionar; ingresar el dato a buscar
en dicho cuadro de dialogo, y que la busqueda se realice en la columna b de
la hoja2. Gracias

"Héctor Miguel" escribió:

hola, Jorge !

> Como se podria crear una macro que desde una hoja, por ejemplo Hoja1
> busque los datos en una columna determinada, por ejemplo b, de la hoja 2.

op1: usando el metodo <objeto hoja>.Cells.Find(
op2: usando funciones de busqueda desde vba: WorksheetFunction.VLookup(.
op_n: ??? (que es exactamente lo que necesitas resolver ?)

saludos,
hector.


.

Respuesta Responder a este mensaje
#3 Héctor Miguel
01/11/2009 - 22:30 | Informe spam
hola, Jorge !

Lo que quiero es estar en la hoja1, que al hacer click en el metodo abreviado de la macro, por ejemplo, Ctrl+b
se habra el cuadro de dialogo (de la ficha inicio) Buscar y seleccionar; ingresar el dato a buscar en dicho cuadro de dialogo
y que la busqueda se realice en la columna b de la hoja2 ...



prueba con una macro +/- como la siguiente:

Sub mi_Busqueda()
On Error GoTo NoExiste
With Worksheets("hoja2").Columns("b")
With .Cells.Find(InputBox("Introduce el dato a buscar"))
.Parent.Activate
.Select
End With
End With
Exit Sub
NoExiste:
MsgBox "El dato solicitado no existe !!!"
End Sub

saludos,
hector.

__ previos __
Como se podria crear una macro que desde una hoja, por ejemplo Hoja1
busque los datos en una columna determinada, por ejemplo b, de la hoja 2.



op1: usando el metodo <objeto hoja>.Cells.Find(
op2: usando funciones de busqueda desde vba: WorksheetFunction.VLookup(.
op_n: ??? (que es exactamente lo que necesitas resolver ?)
Respuesta Responder a este mensaje
#4 Jorge
02/11/2009 - 18:20 | Informe spam
Hola Hector Miguel: Probé con la macro, pero sucede lo siguiente: ctrl+b; se
abre el cuadro de dialogo buscar y reemplazar; se ingresa el dato a
buscar,click en buscar todos y se desplaza a la hoja 2, encontrando el dato.
Te comento que antes cambie en opciones a buscar en el Libro.-
La idea es que no se cambie de hoja, informando los resultados de la hoja2
en la Hoja1.
Otra cosa que me llamo la atención, y solo por curiosidad, es que el
InputBox("Introduce el dato a buscar")), no aparece como Introduce el dato a
buscar y MsgBox "El dato solicitado no existe !!!", tampoco aparece,
señalando en cambio "No se pueden encontrar los datos de la busqueda". Pero
te insisto, es solo curiosidad, porque supongo que deberian aparecer los
textos que tu señalaste en la macro ¿o no?. Gracias.--

"Héctor Miguel" escribió:

hola, Jorge !

> Lo que quiero es estar en la hoja1, que al hacer click en el metodo abreviado de la macro, por ejemplo, Ctrl+b
> se habra el cuadro de dialogo (de la ficha inicio) Buscar y seleccionar; ingresar el dato a buscar en dicho cuadro de dialogo
> y que la busqueda se realice en la columna b de la hoja2 ...

prueba con una macro +/- como la siguiente:

Sub mi_Busqueda()
On Error GoTo NoExiste
With Worksheets("hoja2").Columns("b")
With .Cells.Find(InputBox("Introduce el dato a buscar"))
.Parent.Activate
.Select
End With
End With
Exit Sub
NoExiste:
MsgBox "El dato solicitado no existe !!!"
End Sub

saludos,
hector.

__ previos __
>>> Como se podria crear una macro que desde una hoja, por ejemplo Hoja1
>>> busque los datos en una columna determinada, por ejemplo b, de la hoja 2.
>>
>> op1: usando el metodo <objeto hoja>.Cells.Find(
>> op2: usando funciones de busqueda desde vba: WorksheetFunction.VLookup(.
>> op_n: ??? (que es exactamente lo que necesitas resolver ?)


.

Respuesta Responder a este mensaje
#5 Héctor Miguel
02/11/2009 - 20:59 | Informe spam
hola, Jorge !

Probe con la macro, pero sucede lo siguiente: ctrl+b; se abre el cuadro de dialogo buscar y reemplazar
se ingresa el dato a buscar,click en buscar todos y se desplaza a la hoja 2, encontrando el dato.
Te comento que antes cambie en opciones a buscar en el Libro.-
La idea es que no se cambie de hoja, informando los resultados de la hoja2 en la Hoja1.
Otra cosa que me llamo la atencion, y solo por curiosidad, es que el InputBox("Introduce el dato a buscar"))
no aparece como Introduce el dato a buscar y MsgBox "El dato solicitado no existe !!!" tampoco aparece
senalando en cambio "No se pueden encontrar los datos de la busqueda".
Pero te insisto, es solo curiosidad, porque supongo que deberian aparecer los textos que tu senalaste en la macro o no?.



1) en tanto NO asignes la combinacion de teclas {ctrl}+b a "la macro" (en el dialogo de las opciones de macro)
el atajo seguira "haciendo lo suyo": lanzar el dialgo integrado de buscar (y reemplazar) en vez de ejecutar "la macro"

2) si no quieres que se cambie de hoja, entonces falta un poco mas de informacion (p.e.)
- una vez que se encuentre el dato buscado (si existe)... que esperas que haga la macro ?
- buscas una funcionalidad similar a la de la funcion buscarv(.. ?
- de que columna se rescata algun dato a mostrar ?
- depositar algun dato en alguna celda ?
- mostrar un cuadro de mensaje ?
- ???

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida