Bienvenido(a) a Alcance Libre 05/09/2025, 19:59
Continuando con nuestro artículos acerca de funciones personalizadas para LibreOffice y OpenOffice.org, ahora vemos como devolver una matriz.
Las funciones personalizadas, también pueden devolver matrices, como en el siguiente ejemplo.
Option Explicit Function DatosTexto( Cadena As String ) Dim sLetra As String Dim co1 As Integer, co2 As Integer, co3 As Integer Dim mDatos(2) For co1 = 1 To Len(Cadena) sLetra = LCase(Mid(Cadena,co1,1)) If InStr(1,"aeiouáéíóú",sLetra) Then co2 = co2 + 1 ElseIf InStr(1," ?¿¡!.,:;",sLetra) Then co3 = co3 + 1 End If Next mDatos(0) = co2 mDatos(1) = Len(Cadena)-co2-co3 mDatos(2) = co3 DatosTexto = mDatos End Function
Pero al usarla en la hoja de calculo, tenemos que introducirlas como una función matricial, esto se logra presionando la combinación de teclas CTRL+SHIFT+ENTER. Observa las llaves que encierran a la función en la barra de formulas.
Las funciones personalizadas que devuelven matrices son utiles para, entre otros casos, cuando a partir de unos pocos valores iniciales podemos obtener mucha información, por ejemplo, a partir del radio de un círculo, podemos obtener su diámetro, perímetro y área, con la siguiente función
Option Explicit Function DatosCirculo( Radio As Single ) Dim mDatos(2) Const PI As Double = 3.14159 mDatos(0) = Radio * 2 mDatos(1) = Radio * 2 * PI mDatos(2) = PI * (Radio^2) DatosCirculo = mDatos End Function
Y el resultado:
Como ves, no puede ser más sencillo.
¡Feliz programación!
No hay seguimientos para esta entrada.
Los siguientes comentarios son de la persona que los haya enviado. Este sitio no se hace responsable de las opiniones expresadas por los participantes en los foros y secciones de comentarios, y el hecho de publicar las mismas no significa que esté de acuerdo con ellas.
Comments are closed and no new posts are allowed.