Cómo usar las funciones de envoltura en Excel 2016 VBA

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo usar las funciones de envoltura en Excel 2016 VBA

Libro Relacionado

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

Por John Walkenbach

Aquí encontrará algunas funciones de hojas de cálculo de Excel VBA personalizadas relativamente sencillas que también son muy útiles. Estas funciones se llaman funciones de envoltura porque consisten en código que se envuelve alrededor de elementos VBA intrínsecos. En otras palabras, le permiten utilizar funciones VBA en las fórmulas de las hojas de cálculo.

Function User()' Devuelve el nombre del usuario actual User = Application.UserNameEnd Function

Esta función, en esencia, permite que sus fórmulas accedan a la propiedad UserName del objeto Aplicación.

La función NumberFormat

Esta función simplemente muestra el formato de número de una celda. Puede ser útil si necesita asegurarse de que un grupo de celdas tiene el mismo formato de número.

Function NumberFormat(Cell)' Devuelve el formato de número de la celda NumberFormat = Cell(1).NumberFormatEnd Function

¿Notas el uso de Cell (1)? Si se usa un rango de multiceldas como argumento, sólo se usa la primera celda.

Puede escribir fácilmente funciones similares que devuelven el color del texto de una celda, el color de fondo, la fuente, etc.

La función ExtractElement

Esta función de envoltura devuelve una subcadena de una cadena de texto que contiene múltiples elementos, separados por un carácter separador. Por ejemplo, esta fórmula devuelve la vaca, que es el tercer elemento de una cadena que utiliza un espacio como separador. Los argumentos, por supuesto, podrían ser referencias de celdas.

=Elemento Extracto ("perro caballo vaca gato", 3, " " ")

Aquí está el código, que es un envoltorio para la función Split de VBA:

Function ExtractElement(Txt, n, Sep)' Devuelve el enésimo elemento de una cadena de texto, donde los elementos' están separados por un carácter separador especificado ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)End Function

La siguiente imagen muestra la función ExtractElement utilizada en las fórmulas de las hojas de cálculo. La columna A contiene el string de texto, la columna B contiene el número de elemento a extraer y la columna C contiene el delimitador (las celdas que parecen estar en blanco contienen un carácter de espacio).

Utilizando la función ExtractElement para devolver un elemento de una cadena.

La función SayIt

Esta simple función es una envoltura para el método Speak del objeto Application.Speech. Utiliza una voz sintetizada para «hablar» el argumento.

Función SayIt(txt)' Speaks the argument Application.Speech.Speech.Speak txt, TrueEnd Function

Aquí hay un ejemplo:

=IF(C10>10000,SayIt("Sobre presupuesto"),"OK")

La fórmula verifica la celda C10. Si el valor es superior a 10.000, la función habla el texto: «Exceso de presupuesto». Si el valor es inferior a 10.000, la función muestra el texto OK (y no dice nada).

Usar con moderación. Si utiliza esta función más de una vez, puede resultar muy confuso. Además, recuerde que esta función se evalúa cada vez que se calcula la hoja de trabajo, por lo que la voz puede resultar muy molesta si está haciendo muchos cambios. Esta función es probablemente más adecuada para fines de diversión.

La función IsLike

El operador Like de VBA es una forma muy flexible de comparar cadenas de texto. Compruébelo en el sistema de ayuda de VBA. Esta función aporta esa potencia a las fórmulas de la hoja de cálculo:

Function IsLike(text, pattern)' Devuelve true si el primer argumento es como el segundo IsLike = text Like patternEnd Function

Post Your Thoughts