¡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. Progresar con el código
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (nueva edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (nueva edición) Volver a la página de compra del libro

Progresar con el código

Objetivos

En este capítulo, abordará los eventos que ocurren una vez que haya realizado con éxito sus primeros programas. Cuando empieza, utilizará rigurosamente las estructuras de código y los bloques descritos en este libro, pero tendrá la sensación de que puede hacerlo mejor. Este capítulo le ofrece algunas respuestas sobre cuándo buscar mejoras y cuándo conformarse con el resultado obtenido.

Primero ha de funcionar y luego se optimiza

Cuanto más se progresa en un campo, más se apunta a un resultado óptimo. Este objetivo será similar en su conocimiento y dominio del lenguaje VBA. Pero no se salte los pasos innecesariamente.

Obtener el resultado correcto

Lo más importante al crear sus primeros programas es obtener el resultado esperado una vez ejecutado el programa. No le importa si el código está bien escrito, si está bien comentado o si tiene el rendimiento digno de un coche de Fórmula 1.

El primer paso aquí es solo conseguir el resultado correcto, y ese es el objetivo principal en el que debe centrarse. Estará de acuerdo con nosotros en que un código óptimo que está perfectamente documentado pero que da un resultado erróneo presenta un interés más que limitado.

Así que concéntrese en los pasos de su código y utilice puntos de interrupción para asegurarse de obtener los valores correctos en el momento adecuado en sus programas.

Obtener el resultado correcto y de la forma óptima

Código más eficaz

Ya ha experimentado con la optimización de su código, especialmente a través de los bucles vistos en el capítulo Bucles. Las instrucciones, que son varias veces idénticas, siempre resultan más agradables y fáciles de leer cuando están...

Dejar de reinventar la rueda

A medida que desarrolle nuevos programas, volverá invariablemente a pasos que conoce cada vez mejor y, en lugar de empezar desde cero, tendrá funciones y procedimientos listos para su empleo.

Usar el código de la grabadora de macros

Como ha visto al principio de este libro, la grabadora de macros puede ser un valioso aliado a la hora de encontrar una propiedad o un método que utilice con poca frecuencia. También es una herramienta en la que puede apoyarse para manipulaciones que potencialmente ignora si las instrucciones de VBA satisfacen sus necesidades.

Reutilizar su propio código

Su código no está únicamente vinculado a un libro de Excel, sino que puede exportarse e importarse directamente a través de un módulo o de un módulo de clase. Organice los módulos de código más utilizados por categorías, según las necesidades de la empresa, por ejemplo (Gestión de tiempos, Gestión de inventarios, Nóminas, etc.).

Cuando esté satisfecho con los resultados obtenidos, ahorrará todo el tiempo que haya pasado escribiendo código, ya que no tendrá que volver a hacer lo mismo.

Generalizar procedimientos y funciones

También tendrá la ocasión de encontrar variaciones en sus necesidades, como nombres de hojas que cambian, formatos de fecha que evolucionan de un proyecto...

Lo mejor es enemigo de lo bueno

Tenga cuidado de no caer en el exceso. Tanto si su procedimiento se utiliza treinta veces al día como si se usa una sola vez al año, las expectativas en términos de ahorro de tiempo a veces no valen el tiempo que usted les dedica. Por lo tanto, sea razonable en las mejoras que busca obtener a través de las optimizaciones.

Aunque parezca que a menudo es posible hacerlo «cada vez mejor», usted no está programando en VBA para batir un récord de velocidad, está ahí para ahorrar tiempo a los usuarios y hacerles el trabajo más agradable, y esto es a veces lo principal.