Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Funciones Definidas por el Usuario de Excel

.

Cuando se trabaja  con Excel, ya sea que se trabajé con fórmulas o se programe macros para excel, es imprescindible saber que es lo que específicamente realiza cada una de las fórmula que trae Excel su arsenal de herramientas para trabajar con datos  numéricos y de texto, Excel clasifica las fórmulas en:
1 Funciones de Excel Financieras
Funciones de Excel de Fecha y Hora
Funciones de Excel Matemáticas y Trigonométricas
Funciones de Excel Estadísticas
Funciones de Excel de  Búsqueda y Referencia
Funciones de Excel de Base de Datos
Funciones de Excel de Texto
Funciones de Excel Lógicas
Funciones de Excel de Información
10 Funciones de Excel Definidas por  el Usuario
11 Funciones de Excel de Ingeniería
12 Funciones de Excel de Cubo
Te recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá.
  
En post anteriores se presentaron otro tipos de funciones que trae incorporado Excel, ahora voy a mostrarte como se agregaa Excel una funciones definidas por el usuario; se puede incorporar cualquier función que el usuario realice, desde una función simple hasta complejos cálculos, en este blog existen varias funciones que son definidas por el usuario, explicándose detalladamente como se debe incorporar a Excel, para que éste permita usarlas, un ejemplo de función, es la que permite convertir números a letra, siendo bastante utilizada; también en convertir número a letra función definida por el usuario  encontrarás otra función semejante a  la anterior; seguidamente se ve una parte del desarrollo de la función.

Private Function Unidades(num, UNO)
Dim U
Dim Cad
   
    U =
Array(«un», «dos», «tres», «cuatro», «cinco», «seis», «siete», «ocho»,
«nueve»)
    Cad = «»
    If num = 1 Then
        If UNO = 1
Then
            Cad = Cad & «uno»
        Else
            Cad =
Cad & «un»
        End If
    Else
        Cad = Cad & U(num –
1)
    End If
    Unidades = Cad
End Function
Private Function
Decenas(num1, res)
Dim D1
    D1 = Array(«once», «doce», «trece»,
«catorce», «quince», «dieciseis«,
«diecisiete», _
                «dieciocho», «diecinueve»)
    D2 =
Array(«diez», «veint», «treinta», «cuarenta», «cincuenta», «sesenta»,
_
                «setenta», «ochenta», «noventa»)
   
    If num1
> 10 And num1 < 20 Then
        Cad1 = D1(num1 – 10 – 1)
   
Else
        Cad1 = D2((num1 10) – 1)
        If (num1 10) <> 2
Then
            If res > 0 Then
                Cad1 = Cad1 & » y
«
                Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
           
End If
        Else
            If res = 0 Then
                Cad1 =
Cad1 & «e»
            Else
                Cad1 = Cad1 &
«i»
                Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
           
End If
        End If
    End If
    Decenas = Cad1
End
Function
Private Function Cientos(num2)
   num3 = num2 100
    Select Case num3
        Case
1
                If num2 = 100 Then
                    cad2 = «cien
«
                Else
                    cad2 = «ciento
«
                End If
        Case 5
                cad2 =
«quinientos «
        Case 7
                cad2 = «setecientos
«
        Case 9
                cad2 = «novecientos «
        Case Else
                cad2 =
Unidades(num3, 0) & «cientos «
    End Select
   
    num2 = num2
Mod 100
    If num2 > 0 Then
        If num2 < 10
Then
            cad2 = cad2 & Unidades(num2, num2)
       
Else
            cad2 = cad2 & Decenas(num2, num2 Mod 10)
        End
If
    End If
    Cientos = cad2
End Function
Private Function
Miles(num4)
    If (num4 >= 100) Then
        cad3 =
Cientos(num4)
    Else

        If
(num4 >= 10) Then
            cad3 = Decenas(num4, num4 Mod 10)
       
Else
            cad3 = Unidades(num4, 0)
        End If
    End
If
    cad3 = cad3 & » mil «
    Miles = cad3
End
Function
Private Function Millones(cant)
    If cant = 1 Then
       
ter = » «
    Else
        ter = «es «
    End If
    If (cant >=
1000) Then
        cantl = cantl & Miles(cant 1000

Seguir leyendo …

El siguiente video explica como se debe guardar el archivo con la función realizada por el usuario y la forma de incorporarla a Excel para que aparezca en el listados de funciones de Excel.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends