Buscar este blog

miércoles, 9 de marzo de 2016

Ejercicio de VBA Excel

Antes que nada, desde el editor de VBA en Excel abra un modulo de clase al cual le pondrá el nombre "Persona"


Public nombre As String
Public cargo As String
Public fechaIng As Date
' estas variables son utilizadas para el calculo del IVA y del total a pagar
Public importeVta As Double
Public porcentajeIVA As Double



' lo que permite esta funcion es buscar y desplazarce a la siguiente celda vacía
' esto es lo que se ocupara en el "Módulo 1" para cuando estemos ingresando los datos

Public Function nuevoRegistro()
    Range("A1").Select
   
        Do While ActiveCell <> Empty
            ActiveCell.Offset(1, 0).Select
        Loop
               
End Function

' esta funcion es para calcular el importe del impuesto a pagar

Public Function calculoIVA()

    calculoIVA = (importeVta * porcentajeIVA) / 100

End Function


'esta funcion es para calcular el total a pagar, osea el total de la venta mas el impuesto

Public Function totalPagar()

    totalPagar = importeVta + calculoIVA


End Function


_______________________________________________________________________________

Posteriormente cree propiamente un modulo al cual pondrá el nombre de Módulo 1


Option Explicit

Sub RegistroEmpleados()

    ' esto es para ingresar los empleados

    Dim Empleado As New Persona
    
        With Empleado
            .nombre = InputBox("Nombre:")
            .cargo = InputBox("Cargo:")
            .fechaIng = InputBox("Fecha Ingreso:")
            
            ' este paso de ".nuevoRegistro" es importante, ya que es el que permite buscar las celdas
            ' vacias a las cuales se les agregará el nuevo registro
            ' esta funcion es la que creamos en el módulo de clase nombrado "Empleados"
            .nuevoRegistro
            
                ' esta parte permite buscar la columna vacia donde se guardara la informacion
                ActiveCell.Offset(0, 0) = .nombre
                ActiveCell.Offset(0, 1) = .cargo
                ActiveCell.Offset(0, 2) = .fechaIng
                
        End With
                
End Sub

' esta parte es para facturar e ingresar toda la informacion de la factura

Sub Factura()

    Dim cliente As New Persona
    
    With cliente
    
        .fechaIng = Date
        .nombre = InputBox("Nombre del cliente: ")
        .importeVta = InputBox("Monto de la venta: ")
        .porcentajeIVA = InputBox("% IVA")
        .nuevoRegistro
        
            ActiveCell.Offset(0, 0) = .fechaIng
            ActiveCell.Offset(0, 1) = .nombre
            ActiveCell.Offset(0, 2) = .importeVta
            ActiveCell.Offset(0, 3) = .calculoIVA
            ActiveCell.Offset(0, 4) = .totalPagar
            
    End With
    
End Sub