Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Ejercicio: Generación de reportes

| 1 comentario

Usted ha sido contratado en la empresa MACROS S.A., la cual se dedica a la atención de vehículos de diversas marcas, la empresa se encuentra en un crecimiento considerable, lo cual implica que el número de actividades que tiene en su posición van en aumento, ante ello ha decidido automatizar una de las tareas que tiene a su cargo.

Ha seleccionado un archivo que recibe y atiende todos los días,  ... su objetivo es distribuir el contenido de la hoja "Atenciones" a las hojas de las marcas correspondientes, y tener en la hoja "Pendientes" los pagos por cobrar

Examinando el caso se le ha ocurrido algunas ideas de cómo resolver el caso empleando macros:

 

Distribución de la información en varias hojas

Primera alternativa, usar el grabador de macros

Comenzar seleccionando todos los datos de la hoja “Atenciones” y copiarlos a todas las demás hojas, confía en que esto lo podría hacer ayudándose con el grabador de macros, siempre teniendo cuidado con el uso de la hoja activa, para que los datos de origen siempre sean los de la hoja “Atenciones”, luego ir a cada hoja y eliminar los datos que no correspondan a la marca de la hoja, ya conoce como eliminar filas en blanco por lo que tendría que hacer algunos cambios sobre dicha rutina para que ahora elimine los datos que no necesita.

Es decir la hoja "Nissan" debe contener únicamente la información de las atenciones a los vehículos "Nissan", la hoja "Toyota" debe tener las atenciones realizadas a los vehículos "Toyota", y lo mismo con la marca "Kia".

Segunda alternativa, recorrer línea por línea

Su compañero de trabajo le ha indicado que es posible que en el futuro los archivos sean incrementales (en lugar de completos), ello significa que en el archivo solo recibirá los datos nuevos, y las hojas con las marcas ya tendrán datos que no podrá eliminar ni modificar, por ello no está seguro de emplear la primera alternativa sino de hacer algo más complejo pero que le servirá a futuro, usted sabe que en este caso podrá usar un FOR en VBA para recorrer todas la filas de hoja “Atenciones”, y que fila por fila las copiará a la hoja que corresponda, puede  usar IF en VBA o Select Case en VBA según sea necesario, y también necesitará el código de la última fila, ya que sabiendo cuál es la última fila la siguiente fila siempre se encontrará en blanco.

Otras Alternativas 

Su docente de Macros en Excel en la clase donde se vieron los temas de "Introducción a las Macros" le contó que existen muchas formas de poder resolver lo mismo, por lo que no ha descartado que puedan existir muchas otras formas de poder resolver el mismo caso.  

 

Requisitos adicionales

Finalmente, en la hoja “Pendientes” debe aparecer únicamente los datos de los datos de las atenciones que aún se encuentran pendientes de ser canceladas, esta información será utilizada para que uno de sus compañeros de trabajo se dedique a realizar las llamadas a los deudores, tenga en cuenta que un pago incompleto también se considera pendiente.

Quizá algunos artículos como los siguientes puedan ayudarla a tener otra ideas de como resolver el caso:

Copiar Hojas en VBA

Copiar filas filtradas

Copiar hojas a un nuevo libro  

 

El archivo para la generación de reportes se encuentra en el siguiente enlace: Ejercicio Generación de reportes

Un comentario

  1. Excelentes aportes. Estoy ahora interesado en hacer informes según seleccione el usuario y que genere un perfil para que lo ejecute luego con los mismos criterios guardados

Deja una respuesta

Los campos requeridos estan marcados con *.