Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función WorksheetFunction.Or

| 2 comentarios

La función WorksheetFunction.Or nos permitirá analizar la veracidad o falsedad de una cantidad determinada de argumentos, estos argumentos son valores lógicos que pueden ser "VERDADERO" o "FALSO", para emitir finalmente un resultado que también puede ser "VERDADERO" o "FALSO". Las condiciones para cada resultado son las siguientes:

- La función devolverá el valor "VERDADERO" si al menos uno de los argumentos es VERDADERO.

- La función devolverá el valor "FALSO" si todos los argumentos son FALSOS.

La sintaxis, entonces, de esta función será: O(valor_lógico1, valor_lógico2, valor_lógico3) , se pueden introducir de 1 a 255 valores lógicos o condiciones.

Cabe resaltar, que como bien se sabe, las funciones del tipo WorksheetFunction no son propias de VBA, será necesario emplear la forma: application.WorksheetFunction para poder hacerlas compatibles con este lenguaje.

 

A continuación se presenta un ejemplo de la función WorksheetFunction.Or

Se colocó en la celda A1 el valor de 5 y en la celda A2 el valor de 20.

Se definieron las variables a utilizar y aquellas condiciones (argumentos de la función) fueron declaradas como Boolean, para que de acuerdo a cierta condición nos devuelvan un valor lógico el cual se usará posteriormente al momento de aplicar la función.

funcion or

(Para mayor visualización de la imagen, hacer click en la misma)

Una vez llevado a cabo el código en VBA, la condición1 y condición2 obtuvieron el valor de "FALSO" mientras que la condición3 obtuvo el valor de "VERDADERO" por lo que el resultado final, luego de aplicar la función sobre estas 3 condiciones,  sería "VERDADERO" como se muestra a continuación:

resultado codigo

 

Autor: José Luis Morales

2 comentarios

  1. Estoy interesado en aplicar esto para lo que sería simulaciones de resultados.

  2. Esta declaración de variables es incorrecta en VBA,… en función de lo que se pretende.
    Dim valor1, valor2 As Integer
    Dim condicion1, condicion2, condicion3 As Boolean
    No se están declarando dos variables de tipo “Integer” y no se están declarando tres variables de tipo “Boolean” como se pretende. En realidad solo se está declarando a Valor2 de tipo “Integer” y a condicio3 de tipo Boolean, todas las otras son de tipo Variant, es claro que no es la que se pretende….ok
    Forma abreviada Correcta #1
    Dim valor1 As Integer, valor2 As Integer
    Dim condicion1 As Boolean, condicion2 As Boolean, condicion3 As Boolean
    Forma abreviada correcta #2
    Dim valor1%, valor2%
    Podemos utilizar caracteres para la declaración de variables, pero para las de tipo Boolean no es posible….ok

Deja una respuesta

Los campos requeridos estan marcados con *.