¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Macros y lenguaje VBA
  3. Ejercicio final
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (2ª edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (2ª edición) Volver a la página de compra del libro

Ejercicio final

Objetivos del capítulo

Ahora que ya ha leído todos los capítulos, ha llegado el momento de crear su primera aplicación Excel. Le hemos proporcionado un ejercicio de ejemplo, que puede crear Vd. mismo. Deliberadamente no hemos proporcionado ninguna respuesta.

Como parte de su trabajo, se le pedirá que cree herramientas para satisfacer una necesidad de automatización que haya identificado directa o indirectamente. Una aplicación completa consta de muchas etapas y hay que proceder metódicamente para evitar retratarse demasiado pronto en ciertas sutilezas.

El objetivo de este capítulo es ofrecerle un contexto de trabajo para que pueda proyectarse sobre un caso concreto. Algunos elementos le parecerán obvios como caso a tratar, así como otros le parecerán opcionales, ya que no reflejan su realidad empresarial.

Declaración principal

Para ayudarle a crear una aplicación de la A a la Z, le presentamos un ejemplo concreto de una necesidad empresarial. Se espera que elabore una aplicación Excel con una serie de funciones diseñadas para ahorrar tiempo a sus compañeros del departamento de Pedidos Automatizados.

Contexto

En una empresa de logística, dispone de varios almacenes en todo el país por los que pasan los pedidos de sus clientes.

Los pedidos son de piezas de recambio, medidas en toneladas. Pueden estar recién llegados a uno de sus almacenes (estado Nuevo), en tránsito entre varios de sus almacenes (estado Clasificado) o listos para ser enviados (estado En espera de entrega).

Cada jefe de almacén le envía diariamente un archivo Excel con información sobre los pedidos que reciben y mandan.

Cada archivo contiene dos hojas (una para las recepciones y otra para las expediciones).

Cada hoja tiene cinco columnas:

  • hora de tratamiento (de 00:00 a 23:59),

  • número de pedido,

  • nombre del cliente,

  • estado del pedido (los valores posibles aquí son Nuevo, Intermedio, Final),

  • volumen del pedido (en toneladas).

images/23OSTHS01.png

Ejemplo de contenido de un fichero Excel de almacén

Para ofrecer a la dirección una visión completa de los pedidos en curso en los distintos almacenes de la empresa, se le ha pedido que cree una aplicación Excel que recopile la información de los archivos de cada almacén, todos guardados en la misma carpeta.

A partir de los datos recopilados, la dirección quiere poder realizar búsquedas y obtener estadísticas.

Objetivos impuestos

Utilizando la aplicación Excel, necesita implementar una solución con formularios de usuario para facilitar el trabajo del departamento de Pedidos Automatizados.

Lo primero que deberá hacer es compilar la información contenida en cada uno de los ficheros, añadiendo el número de almacén. Considerará el nombre del fichero para obtener el número de almacén y la fecha del fichero (NumeroAlmacen_Fecha.xlsx).

images/Exemplos.png

Ejemplos de nombres de archivos Excel

La dirección necesita poder realizar una búsqueda a partir de un número de pedido para saber en qué almacén se encuentra el material, así como su historial de transporte (es decir, todos los almacenes por los que ha pasado el envío).

Con el conjunto de pedidos, la dirección necesitará saber:

  • para un almacén determinado, el número total de pedidos,

  • para un almacén determinado, el peso total de los pedidos,

  • para un cliente determinado, los 5 pedidos con mayor volumen,

  • para un cliente determinado, el número total de pedidos y el volumen total,

  • poder especificar una horquilla temporal (por ejemplo entre dos fechas).

Objetivos libres

Con la lectura del enunciado habrá comprendido que es posible ofrecer funciones especialmente sencillas, pero también anticiparse a las futuras necesidades que pueda tener el departamento una vez que su aplicación básica esté en marcha.

Los controles en las hojas pueden ser muchos: comprobar si hay líneas vacías en un archivo, comprobar las horas de las intervenciones, comprobar si hay posibles duplicados en los archivos del almacén.

Del mismo modo, si la empresa desea detectar los pedidos que superan el umbral de 100 toneladas a lo largo de una semana, una herramienta de detección a través de su programa VBA sería posible.

Posibles enfoques

Cuando tiene que trabajar y responder a necesidades reales dentro de una empresa, necesita ser metódico para avanzar sin dispersarse. No existe una fórmula mágica para conseguir resultados, pero segmentando su trabajo entre los aspectos visuales (formularios de usuario) y el código, puede encontrar el ritmo más adecuado.

Primero el código, las imágenes después

Algunas personas no se sienten creativas y escribir código les es suficiente. Trabaje partiendo de la base de que, de momento, el departamento no requiere de momento un aspecto visual muy logrado y que da más importancia a que sea una aplicación funcional.

De este modo, desarrollará primero las funciones y los procedimientos, antes de incorporarlos a sus formularios de usuario.

Este enfoque le permite lanzar rápidamente la fase de desarrollo y disponer de una fase de prueba/error para llevar a cabo procedimientos que pueden resultar algo complejos.

Interfaces para obtener la adhesión de los usuarios, y luego la maquinaria

Cuando le enunciaron la necesidad, pudo identificar algunas posibles mejoras muy prácticas y cree que podrá compartirlas con el departamento antes de empezar a programar.

Una vez que las interfaces están listas, empieza a codificar las instrucciones que se activarán. 

Crear interfaces incluso antes de codificar puede ser una solución útil, ya que le permite mostrar cómo se imagina la interfaz y cómo se desarrolla cada necesidad. Al obtener la aprobación del departamento, valida su propia comprensión de sus necesidades y abre la puerta a cambios de última hora o a nuevas necesidades que puedan surgir.

Este planteamiento retrasa el lanzamiento de la programación, pero le evitará tener que cambiar el diseño de la aplicación varias veces, a medida que la necesidad exacta del departamento vaya quedando cada vez más clara.