Está en la página 1de 4

[EXCEL III]

Macros y Programación
VBA con Excel
Nivel 300

Instructor certificado MOS : Cesar Oceda Samaniego

Funciones Personalizadas
& Macros

Al finalizar el laboratorio los alumnos


estarán en la capacidad de:

 Crear funciones
 Crear Macros
 Usar Macros
Visual Basic for Application VBA
Objetivos
 Crear una función personalizada.
 Utilizar el modelo de objetos de MS-Excel.

Crear una función personalizada.


Abrir el archivo UNICIELO

2) En este caso crearemos las siguientes funciones personalizadas para realizar las
fórmulas que necesita el libro:
Función: Propósito:
CodAuto Elaborar un código autogenerado tomando como datos los Nombres,
los Apellidos, la Fecha de nacimiento y el D.N.I.
PagoCiclo Calcular el pago que debe realizar un alumno para todo un ciclo de
estudios.
Abra el Editor de Visual Basic (ALT + F11).
3) Inserte un módulo.
4) Escriba dentro la ventana de módulo lo siguiente: (los comentarios son opcionales)
'función que crea un código autogenerado
Function CodAuto(Nombre As String, Apellido As String, Fecha As Date, DNI
As String)
Dim C As String
Dim A As String
Dim F As String
Dim D3 As String
Dim D5 As String
'todas las letras del código deben aparecer en mayúsculas
'extrae las 2 primeras letras del nombre
C = UCase(Left(Nombre, 2))
'extrae las 3 últimas letras del apellido
A = UCase(Right(Apellido, 3))
'extrae el mes de la fecha de nacimiento
F = Month(Fecha)
'extrae el 3er y 5to digitos del DNI
D3 = Mid(DNI, 3, 1)
D5 = Mid(DNI, 5, 1)
'concatena todas las partes para formar el código
CodAuto = C & A & F & D3 & D5
End Function

'función que cálcula el pago por ciclo de un estudiante


2 Cesar Oceda Samaniego – MOS Certificado
Function PagoCiclo(Categoria As String, Pension As Single)
'de acuerdo a la categoría se aplica un descuento a la pensión
Select Case UCase(Categoria)
'sin descuento
Case "A"
PagoCiclo = Pension
'descuento: 15%
Case "B"
PagoCiclo = Pension * 0.15
'descuento: 30%
Case "C"
PagoCiclo = Pension * 0.3
'descuento: 50%
Case "D"
PagoCiclo = Pension * 0.5
End Select
End Function

5) Retorne a la hoja1! del libro. Escriba ahora las fórmulas que se indican:

En la celda: Escribir la fórmula:


A6 =CodAuto(B6;C6;D6;E6)
H6 =PagoCiclo(G6;$G$3)

6) Observará un resultado similar al que se muestra a continuación:

7) Guarde el libro.

Resolver

1) Mejorar la función CodAuto para que anteponga un cero delante del mes si es que
éste se encuentra entre Enero (1) y Septiembre (9).
2) Mejorar la función PagoCiclo para que solicite como parámetro el Puntaje del
estudiante. Si éste supera los 140 puntos entonces tendrá beca completa (sólo
pagará S/. 50.00 por trámites administrativos).

3 Cesar Oceda Samaniego – MOS Certificado


Resolver

Crear una función personalizada llamada PRESTAMO que


calcule el préstamo correspondiente
esta función permitirá el ingreso de tres parámetros
el sexo, el estado civil y el sueldo

Para los de sexo Femenino se aplica el siguiente préstamo


Estado Civil Préstamo
Soltero 100% del Sueldo
Casado 80% del Sueldo
Viudo 75% del Sueldo
Divorciado 60% del Sueldo

Para los de sexo Masculino se aplica el siguiente


préstamo

Estado Civil Préstamo


Soltero 90% del Sueldo
Casado 60% del Sueldo
Viudo 50% del Sueldo
Divorciado 80% del Sueldo

4 Cesar Oceda Samaniego – MOS Certificado

También podría gustarte