Unidad 4. VBA. Más estructuras (XIII)



Creación de funciones de usuario ejecutados desde Excel.

Como bien sabemos el Excel tiene muchas funciones organizadas por categorías que nos permiten resolver una diversidad de problemas. Estas funciones van desde aquellas que resuelven problemas matemáticos hasta problemas financieros pasando por aquellos problemas de manejo de texto, estadísticos, de base de datos, decisiones y fechas.

Y si estas funciones no resuelven todos nuestros problemas, podemos construir nuestras propias funciones y añadirlas al conjunto de las que posee el Excel. La categoría a las que pertenecen las funciones que, como usuario podamos crear, constituye las funciones definidas por el usuario.

Una función definida por el usuario no es otra cosa que un procedimiento especial denominado función, pues devuelve un resultado.

Una vez codificada esta función, el uso que se hace de ellas es exactamente igual al de las otras funciones; es decir, al digitar su nombre en una celda con sus respectivos parámetros, estaremos en capacidad de recibir el resultado.

Ejemplo 25

Escriba una función que devuelva el área de un rectángulo dado su base y altura.

Solución:

Nombre de la función : Area

Argumentos                : Base, Altura

La función calculará: Base*Altura/2

El código es el siguiente:

Function Area(Base,Altura)

Area = Base*Altura

End Function

Ahora en Excel,

• Use el Asistente para funciones

• Seleccione la categoría "Definidas por el usuario"

• Seleccione la función cuyo nombre sea Area

• Haga clic en <Aceptar>

• En cada parámetro ingrese las celdas que contienen el valor correspondiente: En Base: B9; en Altura: B10.

• Haga clic en <Aceptar>

Estando en Excel, puede digitar =Area(B9,B10) en la celda B11 y presionar <Enter>

Ejemplo 26

Escriba una función que permita obtener el perímetro o área de un trapecio teniendo como datos las dos bases y la altura. Si el trapecio no es isósceles debe devolver el mensaje "No hay datos para obtener el perímetro de un trapecio que no es isósceles".

Solución

Function Trapecio(Bmay, Bmen, H, Ians)

Select Case Ians

    Case "p", "P"

        If (Bmay = 2 * Bmen) Then

            Trapecio = Bmay + Bmen + 2 * Sqr(H * H + Bmen ^ 2 / 4)

        Else

            MsgBox ("No se tiene datos para calcular el área" + Chr(13) + Chr(10) + "de un trapecio que no es isósceles")

        End If

    Case "a", "A"

        Trapecio = H / 2 * (Bmay + Bmen)

End Select

End Function

Noviembre-2010
Pág. 4.13

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies