You are on page 1of 10

'' Option Explicit

Sub limpiar()
Me.TXT_Nombre = Clear
Me.TXT_Cedula = Clear
Me.CBO_Dpto.ListIndex = 0
Me.Text1 = Clear
Me.CHK_Pr.Value = 0
Me.CHK_FL.Value = 0
Me.CHK_HED.Value = 0
Me.CHK_HEN.Value = 0
Me.CHK_PNR.Value = 0
Me.CHK_HNT.Value = 0
Me.CHK_CC.Value = 0
Me.Label5.Caption = 0
Me.Label8.Caption = 0
Me.Label9.Caption = 0
Me.Label10.Caption = 0
Me.Label11.Caption = 0
Me.Label12.Caption = 0
Me.Label13.Caption = 0
Me.TXT_Nombre.SetFocus
End Sub
Private Sub CBO_Dpto_Click()
If Me.CBO_Dpto.ListIndex = 0 Then
Me.TXT_Salario = Clear
ElseIf Me.CBO_Dpto.ListIndex = 1 Then
Me.TXT_Salario = 100
ElseIf Me.CBO_Dpto.ListIndex = 2 Then
Me.TXT_Salario = 150
ElseIf Me.CBO_Dpto.ListIndex = 3 Then
Me.TXT_Salario = 120
ElseIf Me.CBO_Dpto.ListIndex = 4 Then
Me.TXT_Salario = 175
ElseIf Me.CBO_Dpto.ListIndex = 5 Then
Me.TXT_Salario = 135
End If
End Sub
Private Sub CHK_CC_Click()
If Me.CHK_CC.Value = 1 Then
Me.TXT_CC.Enabled = True
Me.TXT_CC.SetFocus
Else
Me.TXT_CC.Enabled = False
Me.TXT_CC = Clear
Me.Label13.Caption = "0.00"
End If
End Sub
Private Sub CHK_FL_Click()
If Me.CHK_FL.Value = 1 Then
Me.TXT_FL.Enabled = True
Me.TXT_FL.SetFocus
Else
Me.TXT_FL.Enabled = False
Me.TXT_FL = Clear
Me.Label8.Caption = "0.00"
End If
End Sub
Private Sub CHK_HED_Click()
If Me.CHK_HED.Value = 1 Then
Me.TXT_HED.Enabled = True
Me.TXT_HED.SetFocus
Else
Me.TXT_HED.Enabled = False
Me.TXT_HED = Clear
Me.Label9.Caption = "0.00"
End If
End Sub
Private Sub CHK_HEN_Click()
If Me.CHK_HEN.Value = 1 Then
Me.TXT_HEN.Enabled = True
Me.TXT_HEN.SetFocus
Else
Me.TXT_HEN.Enabled = False
Me.TXT_HEN = Clear
Me.Label10.Caption = "0.00"
End If
End Sub
Private Sub CHK_HNT_Click()
If Me.CHK_HNT.Value = 1 Then
Me.TXT_HNT.Enabled = True
Me.TXT_HNT.SetFocus
Else
Me.TXT_HNT.Enabled = False
Me.TXT_HNT = Clear
Me.Label12.Caption = "0.00"
End If
End Sub
Private Sub CHK_PNR_Click()
If Me.CHK_PNR.Value = 1 Then
Me.TXT_PNR.Enabled = True
Me.TXT_PNR.SetFocus
Else
Me.TXT_PNR.Enabled = False
Me.TXT_PNR = Clear
Me.Label11.Caption = "0.00"
End If
End Sub
Private Sub CHK_Pr_Click()
If Me.CHK_Pr.Value = 1 Then
Me.TXT_PR.Enabled = True
Me.TXT_PR.SetFocus
Else
Me.TXT_PR.Enabled = False
Me.TXT_PR = Clear
Me.Label5.Caption = 0
End If
End Sub
Private Sub Command1_Click()
Dim x As Object
Dim d As Date
d = Date
Set x = CreateObject("Excel.Application")
If Me.TXT_Nombre <> Clear And Me.TXT_Cedula <> Clear And Me.Text1 <> Clear Then
x.Visible = False
x.workbooks.Open App.Path & "\nomina.xlsx"
'Copiar Formato de Recibo
x.sheets("Formato").Select
x.range("A1:H23").Select
x.Selection.Copy
x.sheets("Recibo").Select
x.range("A1:H23").Select
x.ActiveSheet.Paste
'Llenar recibo
x.range("H1").Select
x.ActiveCell.FormulaR1C1 = d
x.range("B6:E6").Select
x.ActiveCell.FormulaR1C1 = Me.TXT_Nombre
x.range("G6").Select
x.ActiveCell.FormulaR1C1 = Me.TXT_Cedula
x.range("B7").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_Salario1)
x.range("G7").Select
x.ActiveCell.FormulaR1C1 = Me.CBO_Dpto.Text
x.range("E10").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Text1)
'llenar listado de nomina
x.sheets("Empleado").Select
x.range("E1").Select
x.ActiveCell.FormulaR1C1 = d
x.range("A7:E7").Select
x.Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
x.range("A7").Select
x.ActiveCell.FormulaR1C1 = Me.TXT_Nombre
x.range("B7").Select
x.ActiveCell.FormulaR1C1 = Me.TXT_Cedula
x.range("C7").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_Salario)
x.range("D7").Select
x.ActiveCell.FormulaR1C1 = Me.CBO_Dpto.Text
x.range("E7").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_Salario1)
If Me.CHK_Pr.Value = 1 And Me.CHK_FL.Value = 1 And Me.CHK_HED.Value = 1 And Me.C
HK_HEN.Value = 1 And Me.CHK_PNR.Value = 1 And Me.CHK_HNT.Value = 1 And Me.CHK_CC
.Value = 1 Then
x.sheets("Recibo").Select
' Permiso Remunerado
x.range("A11").Select
x.ActiveCell.FormulaR1C1 = "B0001"
x.range("B11:D11").Select
x.ActiveCell.FormulaR1C1 = "Permiso Remunerado"
x.range("E11").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_PR)
x.range("F11").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label5)
' Feriado Laborado
x.range("A12").Select
x.ActiveCell.FormulaR1C1 = "B0002"
x.range("B12:D12").Select
x.ActiveCell.FormulaR1C1 = "Feriado Laborado"
x.range("E12").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_FL)
x.range("F12").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label8)
' Hora Extra Diurna
x.range("A13").Select
x.ActiveCell.FormulaR1C1 = "H0001"
x.range("B13:D13").Select
x.ActiveCell.FormulaR1C1 = "Hora Extra Diurna"
x.range("E13").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HED)
x.range("F13").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label9)
' Hora Extra Nocturna
x.range("A14").Select
x.ActiveCell.FormulaR1C1 = "H0002"
x.range("B14:D14").Select
x.ActiveCell.FormulaR1C1 = "Hora Extra Nocturna"
x.range("E14").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HEN)
x.range("F14").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label10)
' Permiso No Remunerado
x.range("A15").Select
x.ActiveCell.FormulaR1C1 = "C0001"
x.range("B15:D15").Select
x.ActiveCell.FormulaR1C1 = "Permiso No Remunerado"
x.range("E15").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_PNR)
x.range("F15").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label11)
' Hora No Trabajada
x.range("A16").Select
x.ActiveCell.FormulaR1C1 = "C0002"
x.range("B16:D16").Select
x.ActiveCell.FormulaR1C1 = "Hora No Trabajada"
x.range("E16").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HNT)
x.range("F16").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label12)
Else
MsgBox "Faltan Datos", vbCritical, "ATENCION"
End If
'adicionales para el recibo
If Me.CHK_Pr.Value = 1 Then
x.sheets("Recibo").Select
x.range("F14").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label5)
x.range("E14").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_PR)
End If
If Me.CHK_FL.Value = 1 Then
x.sheets("Recibo").Select
x.range("F15").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label8)
x.range("E15").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_FL)
End If
If Me.CHK_HED.Value = 1 Then
x.sheets("Recibo").Select
x.range("F16").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label9)
x.range("E16").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HED)
End If
If Me.CHK_HEN.Value = 1 Then
x.sheets("Recibo").Select
x.range("F17").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label10)
x.range("E17").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HEN)
End If
If Me.CHK_PNR.Value = 1 Then
x.sheets("Recibo").Select
x.range("G18:H18").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label11)
x.range("E18").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_PNR)
End If
If Me.CHK_HNT.Value = 1 Then
x.sheets("Recibo").Select
x.range("G19:H19").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label12)
x.range("E19").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_HNT)
End If
If Me.CHK_CC.Value = 1 Then
x.sheets("Recibo").Select
x.range("G20:H20").Select
x.ActiveCell.FormulaR1C1 = Val(Me.Label13)
x.range("E20").Select
x.ActiveCell.FormulaR1C1 = Val(Me.TXT_CC)
End If
limpiar 'limpiar formulario
x.Visible = True
x.sheets("Recibo").Select
x.activeworkbook.Save 'salva el libro
'vista previa de impresion
x.ExecuteExcel4Macro "PRINT(1,,,1,,TRUE,,,,,,2,,,TRUE,,FALSE)"
x.Visible = False
'cerrar libro
x.activeworkbook.Close
Set x = Nothing
End If
End Sub
Private Sub Command2_Click()
Dim x As Object
Dim d As Date
d = Date
Set x = CreateObject("Excel.Application")
x.Visible = False
x.workbooks.Open App.Path & "\nomina.xlsx"
x.sheets("Empleado").Select
x.Visible = True
x.ExecuteExcel4Macro "PRINT(1,,,1,,TRUE,,,,,,2,,,TRUE,,FALSE)"
x.Visible = False
x.activeworkbook.Save
x.activeworkbook.Close

End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Command4_Click()
End Sub
Private Sub Command4_MouseUp(Button As Integer, Shift As Integer, x As Single, y
As Single)
If Button = 1 Then
PopupMenu MNU_Archivo, , 0, 10500
End If
End Sub
Private Sub Text1_Change()
Me.TXT_Salario1 = Val(Me.Text1) * Val(Me.TXT_Salario)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_CC_Change()
Dim cel As Integer
cel = 18
Me.Label13.Caption = Val(Me.TXT_CC) * cel
End Sub
Private Sub TXT_CC_Click()
Me.CHK_CC.Value = 1
End Sub
Private Sub TXT_CC_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_Cedula_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_FL_Change()
Dim salario As Integer
Dim otro As Integer
salario = Val(Me.TXT_Salario)
otro = (salario) * 2
Me.Label8.Caption = otro * Val(Me.TXT_FL)
End Sub
Private Sub TXT_FL_Click()
Me.CHK_FL.Value = 1
End Sub
Private Sub TXT_FL_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_HED_Change()
Dim otro As Integer
Dim tac As Integer
tac = Val(Me.TXT_Salario) / 8
otro = (tac) * Val(Me.TXT_HED)
Me.Label9.Caption = otro
End Sub
Private Sub TXT_HED_Click()
Me.CHK_HED.Value = 1
End Sub
Private Sub TXT_HED_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_HEN_Change()
Dim sal As Integer
Dim otro As Integer
Dim otro1 As Integer
sal = Val(Me.TXT_Salario) / 8
otro = (sal) * (30 / 100)
otro1 = sal + otro
Me.Label10.Caption = otro1 * Val(Me.TXT_HEN)
End Sub
Private Sub TXT_HEN_Click()
Me.CHK_HEN.Value = 1
End Sub
Private Sub TXT_HEN_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_HNT_Change()
Dim otro As Integer
Dim tac As Integer
tac = Val(Me.TXT_Salario) / 8
otro = (tac) * Val(Me.TXT_HNT)
Me.Label12.Caption = otro
End Sub
Private Sub TXT_HNT_Click()
Me.CHK_HNT.Value = 1
End Sub
Private Sub TXT_HNT_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_Nombre_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr$(KeyAscii)))
End Sub
Private Sub TXT_PNR_Change()
Dim salario As Integer
Dim otro As Integer
salario = Val(Me.TXT_Salario)
otro = (salario)
Me.Label11.Caption = otro * Val(Me.TXT_PNR)
End Sub
Private Sub TXT_PNR_Click()
Me.CHK_PNR.Value = 1
End Sub
Private Sub TXT_PNR_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub TXT_PR_Change()
Dim salario As Integer
Dim dias As Integer
salario = Val(Me.TXT_Salario)
dias = (salario) * Val(Me.TXT_PR)
Me.Label5.Caption = dias
End Sub
Private Sub TXT_PR_Click()
Me.CHK_Pr.Value = 1
End Sub
Private Sub TXT_PR_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If

End Sub
Private Sub TXT_Salario1_Change()
If Me.TXT_Salario1 <> Clear Then
Me.Command1.Enabled = True
End If
End Sub

You might also like