Saltar al contenido

Macro para buscar y copiar registros y pasarlos a otra hoja


GisseTB

Recommended Posts

publicado

Hola , tengo una hoja (reporte)en donde quiero digitar un codigo que se encuentra en otra hoja (base) y al hacer click en un boton se copien todos los registros encontrados en (base) pero los registros que se copian en la hoja reporte deben cumplir con una condicion.

Adjunto el archivo con toda la explicacion,

Muchas Gracias

EJEMPLO COPIAR VARIOS REGISTROS.xls

publicado

Buenas, GisseTB

Una pregunta.........

La estructura en reporte siempre es la misma?

Es decir, el nº de filas, etc....de cada condición (de 1 a 6) siempre es el mismo?

De otra manera.......en la celda "A11" siempre está el "6" y en la "A22" el "5"?

El Pasarlos de una hoja a otra en base a una condición es bastante sencillo.........el problema podría estar en saber dónde colocarlos........en caso de que cambie la estructura........

Por cierto, en tu explicación dentro del archivo hablas de la columna "G" de base y en principio la condición aparece en "D"...Es correcto?

Un saludo,

Tese

publicado

Muuuchas gracias por responder!

Mira las condiciones siempre son las mismas es decir en A22 siempre van a ir todos los registros que cumplan con la condicion "5"

por ejemplo en la hoja BASE: tengo lo siguiente:

codigo familia codigo hija nombre hoja condicion

10 1 aaaaaaaa "1"

10 2 bbbbbbbbbbbbb "2"

10 3 ccccccccccccc "2"

10 4 ddddddddddddd "5"

20 5 eeeeeeee "1"

20 6 fffffff "2"

20 7 gggggggggggg "5"

20 8 hhhhhhh "2"

30 9 iiiiiiiiii "3"

30 10 jjjjjjjjjjjjjjjjj "3"

30 11 kkkkkkkkkkkkkk "5"

30 12 llllllllllllllllllll "1"

entonces el primer paso seria digitar la familia de la cual quiero sacar la info, por ejemplo supongamos que digito el codigo 10:

en la hoja de reporte, en la filla 22 que corresponde a la condicion "5" deberia ir:

codigo hija nombre hija condicion

4 ddddddddddd "5"

en la misma hoja de reporte en la fila 42 que corresponde a la condicion"2" deberia ir:

2 bbbbbbbbbbbbb "2"

3 ccccccccccccc "2"

y asi de acuerdo a cada condicion....

podriamos definir que para cada condicion tenemos un maximo de 10 registros...

Espero que me hayas entendido y te garadeceria infinitamente si pudieras ayudarme... sabes tengo este tipo de problema muy a menudo y no se como solucionarlo... en una base de muchos datos... el tener que copiar y pegar registros por familias y condiciones me resulta muuuy largo....

publicado

No te preocupes........que los refuerzos vienen de camino!!!!.......jejejejej........pero sí me gustaría que modificaras tu plantilla para ver cómo queda la estructura de 10 registros por condición.....y a partir de ahí, con la estructura "cerrada", trabajar sobre ella.......

Lo fundamental es que seas tú la que sepas lo que quiere hacer y cómo utilizarlo.......de ahí que no modifique yo nada....

y reitero que debes estar esperanzada de que en breve no tendrás que enfrentarte más a ese tipo de problema.......jejeje

Un saludo,

Tese

publicado

Listo Teese, sabes te envio el archivo completo de manera que mires la estructura que tiene y como es que necesito que funcione la macro...

en la hoja BASE, esta marcado en amarillo el ejemplo que escogi para que salga en el reporte..

la idea es que en la hoja REPORTE, yo digite el codigo de la lider y se coloquen los registros segun la condicion...

Espero no sea muuy complicado

Gracias.. ;o)

:congratulatory:

EJEMPLO COPIAR VARIOS REGISTROS T.xls

publicado

Una pregunta más.........

En la columna INDICADOR DIR. aparece un valor (por ej. JUNIOR MAS DE 13C) que no encuentro en la hoja "BASE"....

Imagino que lo que haces es recoger ese dato de otro lugar..........pero necesitaría saber cómo actuar con él......pienso que tiene que ver con la columna "G"....pero ahí aparecen números......jejejeje

Por cierto, habría mucho problema en que el nombre de la líder de la celda "c7" tuviera el mismo formato que en "BASE"?....es decir, con el código de líder y unos cuantos ceros delante?.........es por no perder demasiado tiempo en averiguar cómo dejar solo el nombre......jejeje

---------------Olvida esto último del nombre..................ya lo he solucionado...........jejejeje.............Editado

Voy intentando avanzar.........

Un saludo,

Tese

- - - - - Mensaje combinado - - - - -

Buenas..........aquí estoy de nuevo.........jejejeje

No entiendo muy bien a qué te refieres en tu hoja "reporte1" a que los datos de las condiciones vienen de la columna AX.......yo veo esos datos en la columna "N"......y espero que sean esos.......porque es de dónde estoy tomando el valor.....

Por cierto, en el caso de los Senior no aparecen exactamente así en el listado de "BASE", pero tranquila que eso lo he solucionado ya.........no cambias nada!!!.....jejejeje

Mira a ver que te parece la primera versión.......que ya te dará una idea de por donde van los tiros.......he "trasladado" tus datos de ejemplo a la derecha para que los compares con el resultado tras lanzar la macro......

Quizás solo funcione con el 105!!!........jejejeej........tranquila, es broma......

No sé si habías pensado en situar algún botón, cuadro de texto, etc....para ejecutarla.........o simplemente que todo el proceso se lanzara al cambiar el dato del código de Líder........

De momento, está incluido el código en un módulo y eso implica que es necesario ejecutarlo de alguna manera......si necesitas otra opción lo vemos en las siguientes versiones.......jejeje

Doy por hecho que necesitas que se elimine toda la información que puedas tener en el reporte al cambiar el código....

Aún no está implementado pero vete pensando si quieres eliminarlo con algún botón ó que sea lo primero que haga al ejecutarla de nuevo..........

Ya me cuentas......

Chao,

Tese

EJEMPLO COPIAR VARIOS REGISTROS T_Tesev1.rar

publicado

Hoola tesse, muchas gracias por tu respuesta......... no sabes cuanto te agradezco... esta super la version inicial..

Pienso que seria mejor si ponemos un boton que nos sirva para limpiar los registros antes de digitar un nuevo codigo.. que te parece??

Por lo demas esta super! y te agradezoco millones.. eres genial!!

Saludos,

Gissela

publicado

Como tardabas en responder, pensé que nos habías abandonado........jejejeje.......pero veo que la realidad es que la emoción por ver esa obra de arte te ha impedido articular palabra escrita......:playful:

En serio, me alegro de que te haya gustado y en cuanto pueda (será en breve), le ponemos un botón para limpiar los registros y vuelvo a subirlo.....

Chao,

Tese

publicado

Totalmenteeee.... jajajaja me quede sin palabras! :congratulatory:

Sucede que he tenido unos dias de trabajo intenso!! pero estoy reee- pendiente de este tema ya que como te dije antes

tengo muy a menudo que realizar este trabajo y me toma demasiado tiempo!! la idea es que esta macro me pueda servir siempre.....

Te agradezco desde ya... :tickled_pink:

Saludos,

Gisse

publicado

Teseee...

Lo he revisado.. esta genial!! es justo lo que yo necesito... y te gradezco millones... solamente una duda.. si yo amplio el numero de registros de la base.. tengo que modificar algo en la macro?

publicado

Buenas, GisseTB

En la siguiente línea está la información sobre el rango incluido a la hora de comprobar los registros de la Base:


For Each directora In Sheets("BASE").Range("a6:a5000")[/CODE]

Como ves, le puse 5.000 líneas como tamaño estándar ó de prueba.......aunque nunca recorre las 5.000....en cuanto encuentra una línea vacía entiende que ya no hay más después.......

Por tanto, salvo que tuvieras más líneas aún, no sería necesario tocar nada......

Lo que sí tienes que tener en cuenta es cualquier modificación en el nº de fila en que comienza cada "condición" en la hoja "reporte1"........de ahí que te pidiera previamente que la estructura la decidieras tú.....

Se puede cambiar, si es necesario, obviamente, pero debes tocar los valores de las siguientes variables:

[CODE]
nocumplemrm = 11
hito1 = 26
hito2 = 41
hito3 = 55
seniorno2mrm = 70
senior2omas = 83[/CODE]

En fin, que si no tienes pensado tocar nada en cuanto a filas de esa hoja, no debería darte problemas.......

Y, cuando entiendas, que el tema está resuelto, recuerda escribir algo así como "Tema Solucionado", para que los administradores puedan cerrarlo.....

Un saludo,

Tese

publicado

Mil gracias otra ves Tesse

Esta suuper tu aclaracion, me queda competamente claro...

DE verdad agradezco a este foro y ati sobre todo por ser tan noble y ayudar a las personas que necesitamos sin esperar nada a cambio!!

Te merecess un suuper bravo bravo!!

Gisse

Nota: NO se como debo cerrar este tema como SOLUCIONADO....

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.