4 errores que se deben evitar al programar macros de Excel con VBA

4 errores que se deben evitar al programar macros de Excel con VBA

Microsoft Excel ya es una herramienta de análisis de datos capaz, pero con la capacidad de automatizar tareas repetitivas con macros escribiendo código simple en Visual Basic para Aplicaciones (VBA), es mucho más poderosa. Sin embargo, si se usa incorrectamente, VBA puede causar problemas.





Incluso si no es un programador, VBA ofrece funciones simples que le permiten agregar una funcionalidad impresionante a sus hojas de cálculo.





No importa si eres un gurú de VBA que crea paneles en Excel o un novato que escribe scripts simples que hacen cálculos básicos de celda. Siga estas sencillas técnicas de programación para aprender a escribir código limpio y sin errores.





Empezando con VBA

VBA puede hacer todo tipo de cosas interesantes por ti. Desde escribir macros que modifican hojas hasta enviar correos electrónicos desde una hoja de cálculo de Excel usando scripts VBA hay muy pocos límites en su productividad.

Si no ha programado en VBA en Excel antes, deberá habilitar las herramientas de desarrollador en su programa de Excel. La buena noticia es que habilitar las herramientas de desarrollador es bastante fácil. Solo ve a Expediente > Opciones y luego Personalizar la cinta . Solo mueve el Desarrollador pestaña del panel izquierdo a la derecha.



Asegúrese de que la casilla de verificación tenga esta pestaña habilitada, y ahora la pestaña Desarrollador aparecerá en su menú de Excel.

La forma más fácil de acceder a la ventana del editor de código desde aquí es simplemente hacer clic en el Ver código botón debajo Control S en el menú Desarrollador.





¡Ahora está listo para escribir código VBA! Esta pestaña es donde accederá a VBA, así como grabar macros en Excel . Ahora que Excel está listo para funcionar, repasemos algunos errores comunes que se deben evitar y las formas de prevenirlos.

1. Nombres de variables horribles

Ahora que está en la ventana de código, es hora de comenzar a escribir código VBA. El primer paso importante en la mayoría de los programas, ya sea en VBA o en cualquier otro lenguaje, es definir sus variables. No nombrar correctamente las variables es uno de los errores de programación más comunes que cometen los nuevos desarrolladores.





cómo detener el uso de 100 discos en Windows 10

A lo largo de mis décadas de escritura de código, me he encontrado con muchas escuelas de pensamiento en lo que respecta a las convenciones de nomenclatura de variables y aprendí algunas reglas por las malas. A continuación, se incluyen algunos consejos rápidos para crear nombres de variables:

  • Hazlos lo más cortos posible.
  • Hágalos lo más descriptivos posible.
  • Prepárelos con el tipo de variable (booleano, entero, etc.).

Aquí hay una captura de pantalla de muestra de un programa que utilizo a menudo para hacer llamadas de Windows WMIC desde Excel para recopilar información de la PC.

Cuando desee usar las variables dentro de una función dentro del módulo u objeto (lo explicaré a continuación), debe declararlo como una variable 'pública' precediendo la declaración con Público . De lo contrario, las variables se declaran anteponiéndolas con la palabra Ninguno .

Como puede ver, si la variable es un número entero, está precedida por En t . Si es una cuerda, entonces pag . Esta es una preferencia personal que ayuda más adelante mientras está programando porque siempre sabrá qué tipo de datos contiene la variable mirando el nombre.

Además, asegúrese de nombrar las hojas en su libro de Excel.

De esta manera, cuando se refiere al nombre de la hoja en su código VBA de Excel, se está refiriendo a un nombre que tiene sentido. En el ejemplo anterior, tengo una hoja en la que extraigo información de red, por lo que llamo a la hoja 'Red'. Cada vez que quiero hacer referencia a la hoja de red, puedo hacerlo rápidamente sin buscar el número de hoja que es.

2. Romper en lugar de bucle

Uno de los problemas más comunes que tienen los programadores de VBA más nuevos cuando comienzan a escribir código es manejar correctamente los bucles.

El bucle es muy común en Excel porque a menudo está procesando valores de datos en una fila o columna completa, por lo que debe realizar un bucle para procesarlos todos.

Los nuevos programadores a menudo quieren simplemente salir de un bucle (bucles VBA For o bucles VBA Do While) instantáneamente cuando una determinada condición es verdadera.

Aquí hay un ejemplo de este método que se usa para romper un bucle VBA.

|_+_|

Los nuevos programadores adoptan este enfoque porque es fácil. Intente evitar romper un bucle explícitamente.

La mayoría de las veces, el código que viene después de esa 'ruptura' es importante de procesar. Una forma mucho más limpia y profesional de manejar las condiciones en las que desea dejar un bucle a la mitad es simplemente incluir esa condición de salida en algo como una declaración While de VBA.

|_+_|

Esto permite un flujo lógico de su código. Ahora, el código se repetirá y se detendrá una vez que llegue a 6. No es necesario incluir comandos EXIT o BREAK incómodos en la mitad del ciclo.

3. No usar matrices

Otro error interesante que cometen los nuevos programadores de VBA es tratar de procesar todo dentro de numerosos bucles anidados que se filtran a través de filas y columnas durante el proceso de cálculo.

Esto también podría provocar importantes problemas de rendimiento. Recorrer una columna y extraer los valores cada vez es un asesino en su procesador. Una forma más eficiente de manejar largas listas de números es utilizar una matriz.

Si nunca antes ha usado una matriz, no tema. Imagine una matriz como una bandeja de cubitos de hielo con una cierta cantidad de 'cubos' en los que puede poner información. Los cubos están numerados del 1 al 12, y así es como 'pones' datos en ellos.

Puede definir fácilmente una matriz con solo escribir Dim arrMyArray (12) como entero .

cómo desinstalar onedrive windows 8.1

Esto crea una 'bandeja' con 12 ranuras disponibles para que las llene.

Así es como se vería un código de bucle de filas sin una matriz:

|_+_|

En este ejemplo, el código se procesa a través de cada celda del rango y realiza el cálculo de temperatura.

Si alguna vez desea realizar algún otro cálculo con estos mismos valores, el proceso sería complicado. Tendría que duplicar este código, procesar todas estas celdas y realizar su nuevo cálculo. ¡Todo para un cambio!

Aquí hay un mejor ejemplo, usando una matriz. Primero, creemos la matriz.

|_+_|

los x-1 para apuntar al elemento de la matriz solo es necesario porque el bucle For comienza en 1. Los elementos de la matriz deben comenzar en 0.

Ahora que tiene la matriz, es muy sencillo procesar el contenido.

|_+_|

Este ejemplo pasa por toda la matriz de filas ( UBound le da el número de valores de datos en la matriz), hace el cálculo de temperatura y luego lo coloca en otra matriz llamada arrMyTemps .

4. Usar demasiadas referencias

Ya sea que esté programando en Visual Basic completo o VBA, deberá incluir 'referencias' para acceder a ciertas funciones.

Las referencias son algo así como 'bibliotecas' llenas de funciones que puede aprovechar si habilita ese archivo. Puede encontrar referencias en la vista de desarrollador haciendo clic en Instrumentos en el menú y luego haciendo clic en Referencias .

Lo que encontrará en esta ventana son todas las referencias seleccionadas actualmente para su proyecto actual de VBA.

Debe consultar esta lista porque las referencias innecesarias pueden desperdiciar recursos del sistema. Si no utiliza ninguna manipulación de archivos XML, ¿por qué mantener seleccionado Microsoft XML? Si no se comunica con una base de datos, elimine Microsoft DAO, etc.

Si no está seguro de lo que hacen estas referencias seleccionadas, presione F2 y verá el Explorador de objetos. En la parte superior de esta ventana, puede elegir la biblioteca de referencia para explorar.

Una vez seleccionado, verá todos los objetos y funciones disponibles, en los que puede hacer clic para obtener más información.

Por ejemplo, cuando hago clic en la biblioteca DAO, rápidamente queda claro que se trata de conectarse y comunicarse con bases de datos.

Reducir la cantidad de referencias que usa en su proyecto de programación es simplemente de sentido común y ayudará a que su aplicación general se ejecute de manera más eficiente.

cómo mover canales en roku

Programación en Excel VBA

La idea de escribir código en Excel asusta a mucha gente, pero este miedo realmente no es necesario. Visual Basic para aplicaciones es un lenguaje muy simple de aprender y, si sigue las prácticas comunes básicas mencionadas anteriormente, se asegurará de que su código sea limpio, eficiente y fácil de entender.

Sin embargo, no te detengas ahí. Construya una base sólida de habilidades de Excel con un Tutorial de VBA para principiantes . Luego, continúe aprendiendo sobre VBA y macros con recursos que lo ayudarán a automatizar sus hojas de cálculo.

Cuota Cuota Pío Correo electrónico ¿Vale la pena actualizar a Windows 11?

Windows ha sido rediseñado. Pero, ¿es eso suficiente para convencerte de cambiar de Windows 10 a Windows 11?

Leer siguiente
Temas relacionados
  • Productividad
  • Programación
  • Programación
  • Programación Visual Basic
  • Microsoft Excel
Sobre el Autor Anthony Grant(40 Artículos publicados)

Anthony Grant es un escritor independiente que cubre programación y software. Se especializa en Ciencias de la Computación y se dedica a la programación, Excel, software y tecnología.

Más de Anthony Grant

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse