Tecnología

Inicio

Función de conmutación de VBA

Función de conexión de VBA evalúa las expresiones y devuelve los valores que se asocian con esas expresiones. Este comportamiento permite a los programas de VBA para tomar decisiones, en forma de declaraciones "if-then" y similares. Por ejemplo, puede utilizar Cambiar a valores basados ​​en expresiones con la edad, tales como los nombres de las personas que responden a una determinada edad regresar. A continuación, puede utilizar la instrucción "if-then" para la ejecución del programa de rutas de código correspondiente a esa persona.

primer argumento

El primer argumento de la función del interruptor es una expresión que se desea VBA para evaluar. La expresión se puede evaluar cualquier tipo de variable en VBA, incluyendo números enteros, cuerdas y otros tipos. Interruptor pondrá a prueba la expresión. Si el resultado es "verdadero" Interruptor devolverá el valor que ha enlazado a esta expresión. Especificar este valor como el argumento inmediatamente después del argumento que contiene la expresión. Por ejemplo, es posible que desee probar la expresión "edad = 40", y tiene VBA devuelve el valor "Clark" si la edad es igual a 40. Para ello, escribir una declaración del interruptor como "interruptor (edad = 40," Clark ") "

El segundo argumento

Cada segundo argumento en la instrucción switch se refiere al valor que desea cambiar a devolver si el argumento que precede inmediatamente el valor se evalúa como verdadera. En otras palabras, si "Lois" es el valor que desea cambiar a regresar si la expresión "edad = 35" es cierto, entonces escribir una declaración Interruptor de esta manera: "Switch (edad = 35," Lois ")". Tenga en cuenta que usted no tiene que utilizar cadenas para este argumento de valor. documentación de VBA indica el tipo de argumento es "Variante", lo que significa que puede devolver el interruptor enteros, dobles u otros tipos de valores.

Valor de retorno

valor de retorno del interruptor lleva en uno de los siguientes: un valor de uno de los argumentos que ha especificado, o "nulo", si ninguna de las expresiones que estás diciendo interruptor para evaluar los resultados en un valor de "True". Por ejemplo, si la "edad" variable en la siguiente declaración es de 40 o 35, interruptor, éste retorna ya sea "Clark" o "Lois". Si la "edad" no es ni 40 ni 35, interruptor, éste retorna nulo.

Switch (edad = 40, "Clark", edad = 35, "Lois")

Programa de ejemplo

Es posible entender la sentencia switch más fácilmente mediante la ejecución de un programa corto que utiliza este comunicado. El siguiente programa utiliza Interruptor con dos pares de expresiones para evaluar y valores para volver. Tenga en cuenta que la variable "v" no tiene ningún tipo específico en su declaración. La razón de esto es hacer hincapié en el hecho de que los argumentos del interruptor y valores de retorno pueden asumir cualquier tipo.

Edad (sub)

v Dim

edad Dim As Integer

edad = 40

v = Interruptor (edad = 40, "Clark", edad = 35, "Lois")

Debug.Print v

End Sub