Página 1 de 1

Macro para buscar palabra en una hoja? más complejo

Publicado: Mié Ago 05, 2009 5:27 am
por tetriak
Tengo un libro de excel con 2 hojas, la Hoja1, aparecen 5 botones:

----mesa1----

----mesa2----

----mesa3----

----mesa4----

----Imprime todas las mesas----

y en la Hoja2 tengo muchos valores asociados a cada mesa, aunque no siempre de todas las mesas: por ejemplo, puede ser que un dia haya valores de la mesa 1 y 2 solamente, como otro dia puede haber valores de las cuatro mesas.
Los cuatro primeros botones de la Hoja1 tienen asociada una macro propia, la qual indica que filtre los valores de la segunda hoja en función de la mesa, y los imprima en una plantilla.

El botón "imprime todas las mesas" ejecuta las 4 macros de los otros botones automáticamente.

Al hacer click en el botón de "imprime todas las lineas" siempre se imprimen las 4 plantillas con los valores de las 4 mesas, independientemente que existan datos de esa mesa o no. Cuando no existen, la macro se ejecuta igualmente e imprime la plantilla en blanco.

Me gustaría evitar que se impriman las plantillas en blanco, añadiendo una macro o añadiendo un código a las macros que tienen asignadas los botones "mesa1", "mesa2", "mesa3" y "mesa4", y que de esta forma, cuando se haga click en el botón "imprime todas las lineas", ignore las mesas que no aparecen en la hoja2, y sólo filtre con el autofiltro e imprima las que sí tienen datos.



=========================Esquema===============================

Hacemos click al botón "Imprime todas las linias"

--se ejecuta la macro del boton mesa1

----¿existe algun valor de la mesa1 en la hoja2?
-- sí---entonces filtralos por mesa2,imprime, luego pasa al macro del botón mesa2
-- no----- entonces pasa al macro del boton mesa2

--se ejecuta la macro del boton mesa2

----¿existe algun valor de la mesa2 en la hoja2?
-- sí---entonces filtralos por mesa2,imprime, luego pasa al macro del botón mesa3
-- no----- entonces pasa al macro del boton mesa3

--se ejecuta la macro del boton mesa3

----existe algun valor de la mesa3 en la hoja2?
-- sí---entonces filtralos por mesa3,imprime, luego pasa al macro del botón mesa4
-- no----- entonces pasa al macro del boton mesa4

--se ejecuta la macro del boton mesa4

----existe algun valor de la mesa4 en la hoja2?
-- sí---entonces filtralos por mesa4,imprime, luego acaba ejecucion de la macro
-- no----- entonces acaba la ejecucion de la macro

=============================================================



El codigo del filtro y la impresión ya estan implementados, lo que necesito es saber cómo se hace para que reconozca de qué mesa o mesas son los datos de la hoja2, para poder seguir el esquema anterior

Por ejemplo, se podria implementar una búsqueda justo al principio del código asignado para cada botón, en la cual se busque si existe el nombre de la mesa a tratar (mesa1, mesa2, mesa3 o mesa4), y si existe, que siga ejecutando, y sino, que pase a la siguiente mesa. De la forma que alguna variable sea true, que haga la busqueda, y si no encuentra la mesa correspondiente en la hoja2, que la variable sea false, y si es false que pase a la siguiente, o algo parecido

No sabria como escribir este código. ¿Tendríais alguna otra idea?

Muchas gracias por vuestra ayuda

Re: Macro para buscar palabra en una hoja? más complejo

Publicado: Mié Ago 05, 2009 10:43 am
por nassiul
Hola,

Lo mas facil con excel es grabar una macro con lo que pretendes hacer, y luego mirar el codigo, modificarlo a tu gusto y añadirlo al codigo de tu boton / modulo.

Prueba y veras que facil es. Si lo sabes hacer por pantalla puedes ver codigo asociado.

Saludos.