Cómo usar las Declaraciones de Asignación de VBA en Excel 2016

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo usar las Declaraciones de Asignación de VBA en Excel 2016

Libro Relacionado

Programación de Excel VBA para Dummies, 4ª Edición

Por John Walkenbach

Una sentencia de asignación es una sentencia VBA que asigna el resultado de una expresión a una variable o a un objeto. El sistema de ayuda de Excel define el término expresión como

“… una combinación de palabras clave, operadores, variables y constantes que produce una cadena, un número o un objeto. Una expresión puede ser usada para realizar un cálculo, manipular caracteres o probar datos”.

Gran parte de su trabajo en VBA consiste en desarrollar (y depurar) expresiones. Si sabe cómo crear fórmulas en Excel, no tendrá problemas para crear expresiones. Con una fórmula de hoja de cálculo, Excel muestra el resultado en una celda. Una expresión VBA, por otro lado, puede ser asignada a una variable.

Ejemplos de instrucciones de asignación

En los ejemplos de declaración de asignación que siguen, las expresiones están a la derecha del signo de igual:

x = 1x = x + 1x = (y * 2) / (z * 2)HouseCost = 375000FileOpen = TrueRange("TheYear").Value = 2016

Las expresiones pueden ser tan complejas como sea necesario; utilice el carácter de continuación de línea (un espacio seguido de un guión bajo) para hacer que las expresiones largas sean más fáciles de leer.

A menudo, las expresiones utilizan funciones: Las funciones incorporadas de VBA, las funciones de hoja de cálculo de Excel o las funciones que usted desarrolla con VBA.

Acerca de ese signo de igualdad

Como puede ver en el ejemplo anterior, VBA utiliza el signo igual como su operador de asignación. Probablemente estés acostumbrado a usar un signo de igual como símbolo matemático de igualdad. Por lo tanto, una declaración de asignación como la siguiente puede hacer que usted levante las cejas:

z = z + 1

¿En qué universo loco es z igual a sí mismo más 1? Responde: Ningún universo conocido. En este caso, la sentencia de asignación (cuando se ejecuta) aumenta el valor de z en 1. Por lo tanto, si z es 12, la ejecución de la sentencia hace que z sea igual a 13. Sólo recuerde que una asignación utiliza el signo igual como un operador, no como un símbolo de igualdad.

Operadores suaves

Los operadores juegan un papel importante en el VBA. Además del operador de igual signo, VBA proporciona varios operadores. Estos deben ser familiares para usted porque son los mismos operadores que se usan en las fórmulas de las hojas de trabajo (excepto para el operador Mod).

FunciónSímbolo del operadorAdición+Multiplicación*División/Sustracción-Exponenciación^Concentración de cadenas&División de números enteros (el resultado es siempre un número entero)Módulo aritmético (devuelve el resto de una división)
ModWhen

you’re writing an Excel formula, you do modulo arithmetic by using the MOD function. Por ejemplo, la siguiente fórmula devuelve 2 (el resto cuando se divide 12 por 5):

=MOD(12,5)

En VBA, el operador Mod se usa así (y z tiene un valor de 2):

z = 12 Mod 5

El término concatenación es el término programador para “unirnos”. Por lo tanto, si concatena cadenas, está combinando cadenas para crear una nueva y mejorada.

VBA también proporciona un conjunto completo de operadores lógicos. De éstos, No, Y, y O son los que se usan con más frecuencia.

OperatorWhat It DoesNotRealiza una negación lógica de una expresión y realiza una conjunción lógica de dos expresionesOrRealiza una disyunción lógica de dos expresionesXo Realiza una exclusión lógica de dos expresionesEqvRealiza una equivalencia lógica de dos expresionesImpRealiza una implicación lógica de dos expresionesEl

orden de precedencia de los operadores en VBA es exactamente el mismo que en las fórmulas de Excel. La exposición tiene la más alta prioridad. La multiplicación y la división vienen después, seguidas por la suma y la resta. Puede usar paréntesis para cambiar el orden natural de precedencia, haciendo que lo que está entre paréntesis se anteponga a cualquier operador. Echa un vistazo a este código:

x = 3y = 2z = x + 5 * y

Cuando se ejecuta el código anterior, ¿cuál es el valor de z? Si usted contestó 13, usted obtiene una estrella dorada que prueba que usted entiende el concepto de precedencia del operador.

Si usted contestó 16, lea esto: La operación de multiplicación (5 * y) se realiza primero, y ese resultado se suma a x.

Muchos programadores tienden a usar paréntesis incluso cuando no son necesarios. Por ejemplo, en la vida real esa última declaración de asignación podría escribirse así:

z = x + (5 * y)

No seas tímido a la hora de usar paréntesis, incluso si no son necesarios, especialmente si hacerlo hace que tu código sea más fácil de entender. A VBA no le importa si usas paréntesis adicionales.

No Responses

Write a response