Download - Excel Macros VBA (Calculadora de Salarios)
![Page 1: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/1.jpg)
Página 1
Excel Macros / VBA
Calculadora de Salarios
El código fuente del programa
Copie y pegue segmentos de códigos para escribir
sus propias macros de Excel
Ejemplos de códigos para aprender cómo escribir
macros de Excel usando el lenguaje 'Visual Basic
para Aplicaciones' (VBA)
![Page 2: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/2.jpg)
Página 2
Si quiere usar este material para segmentos de códigos o para aprender cómo escribir macros:
Este material incluye códigos usando el lenguaje 'Visual Basic para Aplicaciones' (VBA) que logran lo
siguiente:
• Navegar de una hoja de cálculo a otra que son agrupadas en un libro
• Insertar filas
• Eliminar filas
• Cambiar las posiciones decimales que se muestran en celdas de números
• Manejar errores
• Mostrar un mensaje en un cuadro de diálogo
Copyright
Copyright © 2012 Rupert Parsons
Algunos Derechos Reservados
Haga clic en el enlace de abajo para ver los detalles de la licencia que se aplican a esta obra:
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es_ES
Importante:
Puede copiar y pegar segmentos de códigos que se incluyen en este material para sus propias hojas
de cálculo sin restricción de copyright.
![Page 3: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/3.jpg)
Página 3
La estructura del programa “Calculadora de Salarios”
Nombre de la hoja VBA Ref. Nombre del botón VBA Ref. Página
Bienvenido - - - -
Menú Principal MP Salarios MP01 6
Configurar MP02 7
Copyright MP03 8
Guardar / Salir MP04 9
Menú Configuración MC Nombre de su institución MC01 10
Símbolo de su moneda MC02 11
Año y Mes MC03 12
Centro de costos / Departamento MC04 13
Tipos de remuneraciones MC05 14
Nombres de empleados MC06 15
Aguinaldos MC07 16
Hora Cátedra MC08 17
Posiciones decimales: de 2 a 0 MC09 18
Posiciones decimales: de 0 a 2 MC10 26
Redondear MC11 34
Menú Principal MC12 35
Menú Salarios MS Gastos anuales de salarios MS01 36
Aguinaldos MS02 37
Antigüedad MS03 38
Indemnización MS04 39
Salarios Variables (pago por hora) MS05 40
Horas Extras MS06 41
Menú Principal MS07 42
![Page 4: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/4.jpg)
Página 4
Nombre de la hoja VBA Ref. Nombre del botón VBA Ref. Página
Salarios Gastos Anuales (1) SGA Menú Salarios SGA01 43
Instrucciones (Configurar) SGA02 44
Imprimir Detalles SGA03 46
Imprimir Resumen SGA04 48
Nuevo Empleado SGA05 50
Eliminar Empleado SGA06 52
Nueva Fila SGA07 55
Eliminar Fila SGA08 58
Salarios Gastos Anuales (2) SGAI - - -
Salarios Aguinaldos SAG Menú Salarios SAG01 61
Instrucciones (Configurar) SAG02 62
Imprimir SAG03 64
Borrar Salarios SAG04 66
Nuevo Empleado SAG05 68
Eliminar Empleado SAG06 70
Nueva Fila SAG07 73
Eliminar Fila SAG08 75
Salarios Antigüedad SAN Menú Salarios SAN01 78
Instrucciones (Configurar) SAN02 79
Nueva Fila SAN03 80
Eliminar Fila SAN04 82
Salarios Indemnización (1) SIN Menú Salarios SIN01 85
Instrucciones (Configurar) SIN02 86
Imprimir Resultados SIN03 87
![Page 5: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/5.jpg)
Página 5
Nombre de la hoja VBA Ref. Nombre del botón VBA Ref. Página
Salarios Indemnización (1) SIN Borrar Datos SIN04 89
Salarios Indemnización (2) SINI - - -
Salarios Variables SVA Menú Salarios SVA01 91
Instrucciones (Configurar) SVA02 92
Imprimir SVA03 93
Borrar Datos SVA04 95
Nueva Fila SVA05 97
Eliminar Fila SVA06 99
Salarios Horas Extras SHE Menú Salarios SHE01 102
Instrucciones (Configurar) SHE02 103
Imprimir SHE03 104
Borrar Datos SHE04 106
Nueva Fila SHE05 108
Eliminar Fila SHE06 110
Configuración CON Menú Configuración CON01 113
Menú Principal CON02 114
Listas - - - -
![Page 6: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/6.jpg)
Página 6
Nombre del botón: Salarios (MP01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 7: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/7.jpg)
Página 7
Nombre del botón: Configurar (MP02)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MC
MC.Activate
MC.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox “Para ver todas las opciones del ‘Menú Configuración’ desplácese hacia abajo en la
planilla.”,vbOKOnly + 64, "Menú Configuración"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 8: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/8.jpg)
Página 8
Nombre del botón: Copyright (MP03)
'Función del botón: Abrir una página web
'Errores
On Error GoTo Errores
'Mensaje
MsgBox "Tiene que estar conectado al Internet para ver los detalles de la licencia que se aplican a
este programa.", 0 + 64, "Manual"
'Abrir la página web
ThisWorkbook.FollowHyperlink Address:="http://creativecommons.org/licenses/by-nc-
sa/3.0/deed.es_ES", NewWindow:=True
Exit Sub
'Errores
Errores:
MsgBox "No se puede acceder al Sitio Web que tiene los detalles del copyright que se aplican a este
programa. Probamente se debe a que su computadora no puede conectar al Internet.” & Chr(13) &
Chr(13) & _
“Si su conexión de Internet funciona y, después de usar este botón, aún no puede ver la licencia del
copyright en línea, seleccione la pestaña ‘Bienvenido’ y a continuación, haga clic en el enlace que se
ubica en la sección ‘Copyright’.", vbOKOnly + vbCritical, "Error"
![Page 9: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/9.jpg)
Página 9
Nombre del botón: Guardar / Salir (MP04)
'Función del botón: Guardar y salir
'Errores
On Error GoTo Errores
'Guardar y salir
ActiveWorkbook.Save
ActiveWorkbook.Close
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede guardar / salir y devuelve el siguiente mensaje de error:" &
Chr(13) & Chr(13) _
& Err.Description, vbOKOnly + vbCritical, "Error"
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
End Select
![Page 10: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/10.jpg)
Página 10
Nombre del botón: Nombre de su institución (MC01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=0
CON.Range("B9").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 11: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/11.jpg)
Página 11
Nombre del botón: Símbolo de su moneda (MC02)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=6
CON.Range("B15").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 12: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/12.jpg)
Página 12
Nombre del botón: Año y Mes (MC03)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=12
CON.Range("B21").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 13: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/13.jpg)
Página 13
Nombre del botón: Centro de costos / Departamentos (MC04)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=20
CON.Range("B30").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 14: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/14.jpg)
Página 14
Nombre del botón: Tipos de Remuneraciones (MC05)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=45
CON.Range("B55").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 15: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/15.jpg)
Página 15
Nombre del botón: Nombres de empleados (MC06)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=64
CON.Range("B74").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 16: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/16.jpg)
Página 16
Nombre del botón: Aguinaldos (MC07)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=269
CON.Range("B278").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 17: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/17.jpg)
Página 17
Nombre del botón: Hora Cátedra (MC08)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=296
CON.Range("B305").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 18: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/18.jpg)
Página 18
Nombre del botón: Posiciones Decimales de 2 a 0 (MC09)
'Función del botón: Cambiar los posiciones decimales de 2 a 0
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Celda As Range
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Mensaje
Answer = MsgBox("¿Está seguro que quiere cambiar las posiciones decimales que se muestran de 2 a
0 para las celdas de su moneda?", 48 + 4, "Posiciones Decimales")
If Answer = 7 Then GoTo Salir1
'Mensaje
MsgBox "Por favor espere unos segundos mientras el programa cambia las posiciones decimales que
se muestran de 2 a 0 para las celdas de su moneda ", vbOKOnly + 64, "Posiciones Decimales"
'Desactivar pantalla parpadea
Application.ScreenUpdating = False
'Cambiar cursor
Application.Cursor = xlWait
'Mostrar barra que avisarle a usuario del progresso
Application.DisplayStatusBar = True
Application.StatusBar = "Cambiando las posiciones decimales..."
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SGA
SGA.Activate
![Page 19: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/19.jpg)
Página 19
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SGA.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SAnuales_04"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SGA.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SGAI
SGAI.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SGAI.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SAnuales_05"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
![Page 20: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/20.jpg)
Página 20
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SGAI.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SAG
SAG.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SAG.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="Aguinaldos_06"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SAG.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
![Page 21: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/21.jpg)
Página 21
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SIN
SIN.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SIN.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="Indemnización_01"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SIN.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SINI
SINI.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SINI.Range("A1").Select
CellRange1 = ActiveCell.Address
![Page 22: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/22.jpg)
Página 22
Application.GoTo Reference:="Indemnización_02"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SINI.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SVA
SVA.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SVA.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SVariables_05"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SVA.Range(CellRange1 & ":" & CellRange2)
![Page 23: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/23.jpg)
Página 23
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SHE
SHE.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SHE.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="HorasExtras_07"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 2 a 0
For Each Celda In SHE.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,##0.00;""Error"";""-""" Then Celda.NumberFormat = "#,###;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: MC
![Page 24: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/24.jpg)
Página 24
MC.Activate
'Activar pantalla parpadea
Application.ScreenUpdating = True
'Cambiar el cursor
Application.Cursor = xlDefault
'Deshabilitar la barra que avisarle a usuario del progresso
Application.StatusBar = False
‘Mensaje
MsgBox " Las posiciones decimales que se muestran han sido cambiadas de 2 a 0 para las celdas de su
moneda.", 0 + 64, "Posiciones Decimales"
'Redondear al número entero
CON.Activate
CON.Range("B312").Select
ActiveCell.Value = 0
'Mensaje
MsgBox " Los montos calculados ahora se redondean al número entero. Si quiere, se puede
cambiarlo.", 0 + 64, "Posiciones Decimales"
Exit Sub
'Errores
Salir1:
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
Application.ScreenUpdating = True
![Page 25: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/25.jpg)
Página 25
Application.Cursor = xlDefault
Application.StatusBar = False
![Page 26: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/26.jpg)
Página 26
Nombre del botón: Posiciones Decimales de 0 a 2 (MC10)
'Función del botón: Cambiar los posiciones decimales de 0 a 2
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Celda As Range
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Mensaje
Answer = MsgBox("¿Está seguro que quiere cambiar las posiciones decimales que se muestran de 0 a
2 para las celdas de su moneda?", 48 + 4, "Posiciones Decimales")
If Answer = 7 Then GoTo Salir1
'Mensaje
MsgBox "Por favor espere unos segundos mientras el programa cambia las posiciones decimales que
se muestran de 0 a 2 para las celdas de su moneda ", vbOKOnly + 64, "Posiciones Decimales"
'Desactivar pantalla parpadea
Application.ScreenUpdating = False
'Cambiar cursor
Application.Cursor = xlWait
'Mostrar barra que avisarle a usuario del progresso
Application.DisplayStatusBar = True
Application.StatusBar = "Cambiando las posiciones decimales..."
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SGA
SGA.Activate
![Page 27: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/27.jpg)
Página 27
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SGA.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SAnuales_04"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SGA.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SGAI
SGAI.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SGAI.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SAnuales_05"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
![Page 28: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/28.jpg)
Página 28
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SGAI.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SAG
SAG.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SAG.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="Aguinaldos_06"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SAG.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
![Page 29: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/29.jpg)
Página 29
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SIN
SIN.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SIN.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="Indemnización_01"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SIN.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SINI
SINI.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SINI.Range("A1").Select
CellRange1 = ActiveCell.Address
![Page 30: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/30.jpg)
Página 30
Application.GoTo Reference:="Indemnización_02"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SINI.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SVA
SVA.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SVA.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SVariables_05"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SVA.Range(CellRange1 & ":" & CellRange2)
![Page 31: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/31.jpg)
Página 31
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: SHE
SHE.Activate
'Seleccionar el rango de celdas para cambiar las posiciones decimales
SHE.Range("A1").Select
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="HorasExtras_07"
CellRange2 = ActiveCell.Address
'Desproteger la hoja
ActiveSheet.Unprotect
'Cambiar las posiciones decimales de 0 a 2
For Each Celda In SHE.Range(CellRange1 & ":" & CellRange2)
If Celda.NumberFormat = "#,###;""Error"";""-""" Then Celda.NumberFormat = "#,##0.00;""Error"";""-
"""
Next Celda
'Proteger la hoja
ActiveSheet.Protect
‘--------------------------------------------------------------------------------------------------------------------------------------
'Ir a la hoja: MC
![Page 32: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/32.jpg)
Página 32
MC.Activate
'Activar pantalla parpadea
Application.ScreenUpdating = True
'Cambiar cursor
Application.Cursor = xlDefault
'Deshabilitar la barra que avisarle a usuario del progresso
Application.StatusBar = False
‘Mensaje
MsgBox " Las posiciones decimales que se muestran han sido cambiadas de 0 a 2 para las celdas de su
moneda.", 0 + 64, "Posiciones Decimales"
'Redondear a 2 lugares decimales
CON.Activate
CON.Range("B312").Select
ActiveCell.Value = 2
'Mensaje
MsgBox " Los montos calculados ahora se redondean a 2 lugares decimales. Si quiere, se puede
cambiarlo.", 0 + 64, "Posiciones Decimales"
Exit Sub
'Errores
Salir1:
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
Application.ScreenUpdating = True
![Page 33: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/33.jpg)
Página 33
Application.Cursor = xlDefault
Application.StatusBar = False
![Page 34: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/34.jpg)
Página 34
Nombre del botón: Redondear (MC11)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: CON
CON.Activate
ActiveWindow.SmallScroll Up:=1000
ActiveWindow.SmallScroll Down:=302
CON.Range("B312").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 35: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/35.jpg)
Página 35
Nombre del botón: Menú Principal (MC12)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MP
MP.Activate
MP.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 36: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/36.jpg)
Página 36
Nombre del botón: Gastos anuales de salarios (MS01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SGA
SGA.Activate
ActiveWindow.SmallScroll Up:=1000
SGA.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar en las celdas amarillas y en las anaranjadas." & Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.” &
Chr(13) & Chr(13) _
& “Si quiere calcular los gastos totales de salarios por sólo un mes para un presupuesto mensual:” &
Chr(13) & Chr(13) _
& “- por cada monto que se carga seleccione ‘1’ (mes) en la celda del” & Chr(13) _
& “ ‘Intervalo del monto’.” , 0 + 64, "Gastos anuales de salarios"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 37: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/37.jpg)
Página 37
Nombre del botón: Aguinaldos (MS02)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SAG
SAG.Activate
ActiveWindow.SmallScroll Up:=1000
SAG.Range("A1").Select
SAG.Range("E9").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar tanto en las celdas que tienen bordes como en las celdas de los meses." &
Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.”, 0
+ 64, "Aguinaldos"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 38: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/38.jpg)
Página 38
Nombre del botón: Antigüedad (MS03)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SAN
SAN.Activate
ActiveWindow.SmallScroll Up:=1000
SAN.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar en las celdas amarillas." & Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.”, 0
+ 64, "Antigüedad"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 39: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/39.jpg)
Página 39
Nombre del botón: Indemnización (MS04)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SIN
SIN.Activate
ActiveWindow.SmallScroll Up:=1000
SIN.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar en las celdas amarillas." & Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.”, 0
+ 64, "Indemnización"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 40: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/40.jpg)
Página 40
Nombre del botón: Salarios Variables (MS05)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SVA
SVA.Activate
ActiveWindow.SmallScroll Up:=1000
SVA.Range("A6").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar en las celdas que tienen bordes." & Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.”, 0
+ 64, "Salarios Variables"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 41: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/41.jpg)
Página 41
Nombre del botón: Horas Extras (MS06)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: SHE
SHE.Activate
ActiveWindow.SmallScroll Up:=1000
SHE.Range("A6").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Se puede cargar en las celdas que tienen bordes." & Chr(13) & Chr(13) _
& “Para proteger las fórmulas y los formatos de las celdas no se puede cortar y pegar en esta hoja.”, 0
+ 64, "Horas Extras"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 42: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/42.jpg)
Página 42
Nombre del botón: Menú Principal (MS07)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MP
MP.Activate
MP.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 43: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/43.jpg)
Página 43
Nombre del botón: Menú Salarios (SGA01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 44: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/44.jpg)
Página 44
Nombre del botón: Instrucciones (SGA02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje (1)
MsgBox “Si necesita insertar más empleados en la hoja:” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nuevo Empleado’.” & Chr(13) & Chr(13) _
& “Si quiere eliminar todas las filas de un empleado:*” & Chr(13) & Chr(13) _
& “- Seleccione la celda del nombre del empleado.” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Empleado’.” & Chr(13) & Chr(13) _
& “(*no se puede eliminar las filas del primer empleado)” & Chr(13) & Chr(13) _
& “Si necesita más filas en las cuales registrar las remuneraciones de un empleado:” & Chr(13) &
Chr(13) _
& “- Seleccione la celda del nombre del empleado.” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nueva Fila’.” & Chr(13) & Chr(13) _
& “Si quiere menos filas en las cuales registrar las remuneraciones de un empleado:” & Chr(13) &
Chr(13) _
& “-Seleccione una celda amarilla de la fila que quiere eliminar.**” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Fila’.” & Chr(13) & Chr(13) _
& “(**no se puede eliminar la primera fila de cada empleado)”, _
vbOKOnly + 64, "Cómo Configurar la hoja y los informes (1) - Los Botones"
'Mensaje (2)
MsgBox “Vaya al Menú Configuración para lo siguiente:” & Chr(13) & Chr(13) _
& “Cargar el nombre de su institución.” & Chr(13) & Chr(13) _
& “Cargar el símbolo de moneda para su país.” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.” &
Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un centro de costos.” & Chr(13) &
Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar sus tipos de remuneraciones.” &
Chr(13) & Chr(13) _
& “Cambiar las posiciones decimales que se muestran en las celdas de su moneda.” & Chr(13) &
Chr(13) _
& “Cambiar cómo los montos calculados son redondeados.”, _
vbOKOnly + 64, "Cómo Configurar la hoja y los informes (2) - Menú Configuración"
Exit Sub
'Errores
![Page 45: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/45.jpg)
Página 45
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 46: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/46.jpg)
Página 46
Nombre del botón: Imprimir Detalles (SGA03)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Ir a la Columna W
SGA.Range("W1").Select
ActiveWindow.SmallScroll ToRight:=6
'Mensaje
MsgBox “Para imprimirlo pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’ abajo.” &
Chr(13) & Chr(13) _
& “Para mejorar la presentación del informe:” & Chr(13) & Chr(13) _
& “Le recomiendo que inserte un salto de página arriba de cada empleado cuyos datos pasan a la
siguiente página. El informe se ubica a partir de la columna W de esta hoja.” & Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la Columna A
SGA.Range("A1").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
![Page 47: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/47.jpg)
Página 47
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
Exit Sub
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 48: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/48.jpg)
Página 48
Nombre del botón: Imprimir Resumen (SGA04)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Ir a la Hoja: SGAI
SGAI.Activate
SGAI.Range("A1").Select
'Mensaje
MsgBox “Para imprimir el informe pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’
abajo.” & Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la Hoja: SGA
SGA.Activate
SGA.Range("A1").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
![Page 49: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/49.jpg)
Página 49
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
Exit Sub
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 50: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/50.jpg)
Página 50
Nombre del botón: Nuevo Empleado (SGA05)
'Función del botón: Insertar, copiar y pegar filas
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Insertar 13 filas
Application.GoTo Reference:="SAnuales_01"
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
'Copiar las filas del empleado oculto
Application.GoTo Reference:="SAnuales_02"
Selection.Copy
'Pegar las filas del empleado oculto
Application.GoTo Reference:="SAnuales_01"
ActiveCell.Offset(-13, 0).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
![Page 51: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/51.jpg)
Página 51
'Mensaje
MsgBox "Un nuevo empleado ha sido insertado.", 0 + 64, "Nuevo empleado"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 52: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/52.jpg)
Página 52
Nombre del botón: Eliminar Empleado (SGA06)
'Función del botón: Eliminar filas
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Desproteger la hoja
ActiveSheet.Unprotect
'Errores
On Error GoTo Errores
'Mensaje
MsgBox "Seleccione la celda del nombre del empleado que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar el primer empleado.", 0 + 64, "Eliminar empleado”
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “E” And ActiveCell.Text <> “PE” Then GoTo Salir1
'Asegurarse de que el primer empleado no sea eliminado
If ActiveCell.Text = “PE” Then GoTo Salir2
'Seleccionar las filas para eliminar
ActiveCell.Offset(-2, 0).Select
CellRange1 = ActiveCell.Address
Do Until ActiveCell.Text = “UF2”
ActiveCell.Offset(1, 0).Select
![Page 53: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/53.jpg)
Página 53
Loop
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar todas las filas del empleado?", 48 + 4, "Eliminar
Empleado")
If Answer = 7 Then GoTo Salir3
'Eliminar las filas
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "El empleado ha sido eliminado.", 0 + 64, "Eliminar empleado"
Range(CellRange1).Select
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar la celda del nombre del empleado que quiere eliminar.", 0 + 16,
"Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar el primer empleado.", 0 + 16, "Error"
ActiveSheet.Protect
![Page 54: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/54.jpg)
Página 54
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 55: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/55.jpg)
Página 55
Nombre del botón: Nueva Fila (SGA07)
'Función del botón: Insertar una fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Para insertar una nueva fila en la cual registrar una remuneración de un empleado
seleccione la celda del nombre del empleado.", 0 + 64, "Nueva Fila"
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> "E" And ActiveCell.Text <> "PE" Then GoTo Salir1
'Insertar una fila
Do Until ActiveCell.Text = "UF1"
ActiveCell.Offset(1, 0).Select
Loop
CellRange1 = ActiveCell.Address
Selection.EntireRow.Insert
'Copiar la fila oculta
![Page 56: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/56.jpg)
Página 56
Application.GoTo Reference:="SAnuales_03"
Selection.Copy
'Pegar la fila oculta
Range(CellRange1).Select
ActiveSheet.Paste
'Introducir el vínculo correcto a la celda del centro de costos de la nueva fila (columna DN)
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell.Text = "UF3"
ActiveCell.Offset(0, 1).Select
Loop
ActiveCell.Offset(-2, -1).Select
CellRange2 = ActiveCell.Formula
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = CellRange2
Range(CellRange1).Select
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
ActiveCell.Offset(0, 5).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
MsgBox "Una nueva fila se ha insertado.", 0 + 64, "Nueva Fila"
Exit Sub
![Page 57: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/57.jpg)
Página 57
'Errores
Salir1:
MsgBox "Tiene que seleccionar la celda del nombre del empleado.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Errores:
MsgBox "Lo siento - la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 58: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/58.jpg)
Página 58
Nombre del botón: Eliminar Fila (SGA08)
'Función del botón: Eliminar fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox " Seleccione una celda amarilla de la fila que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar la primera fila de cada empleado.", 0 + 64, "Eliminar Fila”
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “F” And ActiveCell.Text <> “PF” Then GoTo Salir1
If ActiveCell.Text = “PF” Then GoTo Salir2
'Seleccionar la fila para eliminar
CellRange1 = ActiveCell.Address
ActiveCell.Offset(0, 5).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Mensaje
![Page 59: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/59.jpg)
Página 59
Answer = MsgBox("¿Está seguro que quiere eliminar la fila?", 48 + 4, "Eliminar Fila")
If Answer = 7 Then GoTo Salir3
‘Eliminar la fila
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox " La fila se ha eliminado.", 0 + 64, "Eliminar Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar una celda de una fila que registra remuneración.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar la primera fila del empleado.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
![Page 60: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/60.jpg)
Página 60
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 61: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/61.jpg)
Página 61
Nombre del botón: Menú Salarios (SAG01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 62: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/62.jpg)
Página 62
Nombre del botón: Instrucciones (SAG02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje (1)
MsgBox “Si necesita insertar más empleados en la hoja:” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nuevo Empleado’.” & Chr(13) & Chr(13) _
& “Si quiere eliminar todas las filas de un empleado:*” & Chr(13) & Chr(13) _
& “- Seleccione la celda del nombre del empleado.” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Empleado’.” & Chr(13) & Chr(13) _
& “(*no se puede eliminar las filas del primer empleado)” & Chr(13) & Chr(13) _
& “Si necesita más filas en las cuales registrar las remuneraciones de un empleado:” & Chr(13) &
Chr(13) _
& “- Seleccione la celda del nombre del empleado.” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nueva Fila’.” & Chr(13) & Chr(13) _
& “Si quiere menos filas en las cuales registrar las remuneraciones de un empleado:” & Chr(13) &
Chr(13) _
& “-Seleccione una celda que tiene bordes de la fila que quiere eliminar.**” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Fila’.” & Chr(13) & Chr(13) _
& “(**no se puede eliminar la primera fila de cada empleado)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (1) - Los Botones"
'Mensaje (2)
MsgBox “Vaya al Menú Configuración para lo siguiente:” & Chr(13) & Chr(13) _
& “Cargar el nombre de su institución.” & Chr(13) & Chr(13) _
& “Cargar el símbolo de moneda para su país.” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.” &
Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un centro de costos.” & Chr(13) &
Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar sus tipos de remuneraciones.” &
Chr(13) & Chr(13) _
& “Cambiar el número de los días de salarios que tiene que pagar para el aguinaldo.” & Chr(13) &
Chr(13) _
& “Cambiar las posiciones decimales que se muestran en las celdas de su moneda.” & Chr(13) &
Chr(13) _
& “Cambiar cómo los montos calculados son redondeados.”, _
vbOKOnly + 64, "Cómo Configurar la hoja (2) - Menú Configuración"
'Ir a una celda de meses
![Page 63: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/63.jpg)
Página 63
Range("E9").Select
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 64: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/64.jpg)
Página 64
Nombre del botón: Imprimir (SAG03)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Mensaje
MsgBox “Para imprimirlo pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’ abajo.” &
Chr(13) & Chr(13) _
& “Para mejorar la presentación del informe:” & Chr(13) & Chr(13) _
& “Le recomiendo que inserte un salto de página arriba de cada empleado cuyos datos pasan a la
siguiente página.” & Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la celda B15
SAG.Range("B15").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
![Page 65: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/65.jpg)
Página 65
Exit Sub
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 66: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/66.jpg)
Página 66
Nombre del botón: Borrar Salarios (SAG04)
'Función del botón: Borrar contenidos
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Seleccionar el rango de celdas para borrar
Application.GoTo Reference:="Aguinaldos_04"
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="Aguinaldos_05"
ActiveCell.Offset(-3, 0).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Mensaje
Answer = MsgBox("Serán borradas solamente las remuneraciones que se cargaron en las columnas de
meses." & Chr(13) & Chr(13) & "¿Está seguro que quiere borrarlas?", vbYesNo + vbExclamation,
"Borrar")
If Answer = 7 Then GoTo Exit1
'Borrar los contenidos
Range(CellRange1 & ":" & CellRange2).ClearContents
'Proteger la hoja
![Page 67: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/67.jpg)
Página 67
ActiveSheet.Protect
'Mensaje
MsgBox "Todos las remuneraciones se han borrado.", vbOKOnly + vbInformation, "Borrar"
Exit Sub
'Errores
Exit1:
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 68: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/68.jpg)
Página 68
Nombre del botón: Nuevo Empleado (SAG05)
'Función del botón: Insertar, copiar y pegar filas
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Insertar 7 filas
Application.GoTo Reference:="Aguinaldos_01"
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
'Copiar las filas del empleado oculto
Application.GoTo Reference:="Aguinaldos_02"
Selection.Copy
'Pegar las filas del empleado oculto
Application.GoTo Reference:="Aguinaldos_01"
ActiveCell.Offset(-7, 0).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "Un nuevo empleado ha sido insertado.", 0 + 64, "Nuevo empleado"
Exit Sub
![Page 69: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/69.jpg)
Página 69
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 70: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/70.jpg)
Página 70
Nombre del botón: Eliminar Empleado (SAG06)
'Función del botón: Eliminar filas
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Desproteger la hoja
ActiveSheet.Unprotect
'Errores
On Error GoTo Errores
'Mensaje
MsgBox "Seleccione la celda del nombre del empleado que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar el primer empleado.", 0 + 64, "Eliminar empleado”
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “PF” And ActiveCell.Text <> “PE” Then GoTo Salir1
'Asegurarse de que el primer empleado no sea eliminado
If ActiveCell.Text = “PE” Then GoTo Salir2
'Seleccionar las filas para eliminar
CellRange1 = ActiveCell.Address
Do Until ActiveCell.Text = “UF2”
ActiveCell.Offset(1, 0).Select
Loop
![Page 71: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/71.jpg)
Página 71
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar todas las filas del empleado?", 48 + 4, "Eliminar
Empleado")
If Answer = 7 Then GoTo Salir3
'Eliminar las filas
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "El empleado ha sido eliminado.", 0 + 64, "Eliminar empleado"
Range(CellRange1).Select
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar la celda del nombre del empleado que quiere eliminar.", 0 + 16,
"Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar el primer empleado.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
![Page 72: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/72.jpg)
Página 72
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 73: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/73.jpg)
Página 73
Nombre del botón: Nueva Fila (SAG07)
'Función del botón: Insertar una fila
'Declaraciones
Dim CellRange1 As String
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Para insertar una nueva fila en la cual registrar una remuneración de un empleado
seleccione la celda del nombre del empleado.", 0 + 64, "Nueva Fila”
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “PF” And ActiveCell.Text <> “PE” Then GoTo Salir1
'Insertar una fila
Do Until ActiveCell.Text = “UF1”
ActiveCell.Offset(1, 0).Select
Loop
CellRange1 = ActiveCell.Address
Selection.EntireRow.Insert
'Copiar la fila oculta
Application.GoTo Reference:="Aguinaldos_03"
![Page 74: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/74.jpg)
Página 74
Selection.Copy
'Pegar la fila oculta
Range(CellRange1).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "Una nueva fila se ha insertado.", 0 + 64, "Nueva Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar la celda del nombre del empleado.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 75: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/75.jpg)
Página 75
Nombre del botón: Eliminar Fila (SAG08)
'Función del botón: Eliminar fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Seleccione una celda de la fila que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar la primera fila de cada empleado.", 0 + 64, "Eliminar Fila”
'Verificar que la celda que se seleccionó es la celda del nombre de empleado
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “F” And ActiveCell.Text <> “PF” And ActiveCell.Text <> “PE” Then GoTo Salir1
If ActiveCell.Text = “PF” Then GoTo Salir2
If ActiveCell.Text = “PE” Then GoTo Salir2
'Seleccionar la fila para eliminar
CellRange1 = ActiveCell.Address
ActiveCell.Offset(0, 34).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
![Page 76: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/76.jpg)
Página 76
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar la fila?", 48 + 4, "Eliminar Fila")
If Answer = 7 Then GoTo Salir3
‘Eliminar la fila
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox " La fila se ha eliminado.", 0 + 64, "Eliminar Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar una celda de una fila que registra remuneración.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar la primera fila del empleado.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
![Page 77: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/77.jpg)
Página 77
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 78: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/78.jpg)
Página 78
Nombre del botón: Menú Salarios (SAN01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 79: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/79.jpg)
Página 79
Nombre del botón: Instrucciones (SAN02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje (1)
MsgBox “Si necesita más filas en las cuales registrar la antigüedad de sus empleados:” & Chr(13) &
Chr(13) _
& “- Pulse el botón ‘Nueva Fila’.” & Chr(13) & Chr(13) _
& “Si quiere menos filas en las cuales registrar la antigüedad de sus empleados:” & Chr(13) & Chr(13)
_
& “-Seleccione una celda de la fila que quiere eliminar.*” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Fila’.” & Chr(13) & Chr(13) _
& “(*no se puede eliminar la primera fila)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (1) - Los Botones"
'Mensaje (2)
MsgBox “Vaya al ‘Menú Configuración’ para lo siguiente:” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.”, _
vbOKOnly + 64, "Cómo Configurar la hoja (2) - Menú Configuración"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 80: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/80.jpg)
Página 80
Nombre del botón: Nueva Fila (SAN03)
'Función del botón: Insertar fila
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Insertar una fila
Application.GoTo Reference:="Antigüedad_01"
Selection.EntireRow.Insert
'Copiar la fila oculta
Application.GoTo Reference:="Antigüedad_02"
Selection.Copy
'Pegar la fila oculta
Application.GoTo Reference:= "Antigüedad_01"
ActiveCell.Offset(-1, 0).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "Una nueva fila se ha insertado.", 0 + 64, "Nueva Fila"
Exit Sub
'Errores
Errores:
![Page 81: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/81.jpg)
Página 81
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 82: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/82.jpg)
Página 82
Nombre del botón: Eliminar Fila (SAN04)
'Función del botón: Eliminar fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Seleccione una celda amarilla de la fila que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar la primera fila.", 0 + 64, "Eliminar Fila”
'Verificar que la celda que se seleccionó es una fila registra detalles de antigüedad
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “F” And ActiveCell.Text <> “PF” Then GoTo Salir1
'Asegurarse de que la primera fila no sea eliminado
If ActiveCell.Text = “PF” Then GoTo Salir2
'Seleccionar la fila para eliminar
CellRange1 = ActiveCell.Address
ActiveCell.Offset(0, 6).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
![Page 83: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/83.jpg)
Página 83
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar la fila?", 48 + 4, "Eliminar Fila")
If Answer = 7 Then GoTo Salir3
‘Eliminar la fila
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "La fila se ha eliminado.", 0 + 64, "Eliminar Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar una celda de una fila que registra detalles de antigüedad.", 0 + 16,
"Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar la primera fila.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
![Page 84: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/84.jpg)
Página 84
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 85: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/85.jpg)
Página 85
Nombre del botón: Menú Salarios (SIN01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 86: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/86.jpg)
Página 86
Nombre del botón: Instrucciones (SIN02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje
MsgBox “Vaya al Menú Configuración para lo siguiente:” & Chr(13) & Chr(13) _
& “Cargar el nombre de su institución.” & Chr(13) & Chr(13) _
& “Cargar el símbolo de moneda para su país.” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.” &
Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar sus tipos de remuneraciones.” &
Chr(13) & Chr(13) _
& “Cambiar las posiciones decimales que se muestran en las celdas de su moneda.” & Chr(13) &
Chr(13) _
& “Cambiar cómo los montos calculados son redondeados.”, _
vbOKOnly + 64, "Cómo Configurar la hoja y el informe - Menú Configuración"
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 87: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/87.jpg)
Página 87
Nombre del botón: Imprimir Resultados (SIN03)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Ir a la Hoja: SINI
SINI.Activate
SINI.Range("A1").Select
'Mensaje
MsgBox “Para imprimir el informe pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’
abajo.” & Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la Hoja: SIN
SIN.Activate
SIN.Range("A1").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
![Page 88: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/88.jpg)
Página 88
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
Exit Sub
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 89: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/89.jpg)
Página 89
Nombre del botón: Borrar Datos (SIN04)
'Función del botón: Borrar contenidos
'Errores
On Error GoTo Errores
'Mensaje
Answer = MsgBox("Serán borrados los datos que se cargaron en las celdas amarillas." & Chr(13) &
Chr(13) & "¿Está seguro que quiere borrarlos?", vbYesNo + vbExclamation, "Borrar")
If Answer = 7 Then GoTo Exit1
'Borrar los contenidos
Range("C15:F15").ClearContents
Range("C17:F17").ClearContents
Range("E22").ClearContents
Range("B28:B31").ClearContents
Range("D28:D31").ClearContents
Range("E28").ClearContents
Range("D35").ClearContents
Range("E42").ClearContents
Range("D50").ClearContents
Range("D52").ClearContents
Range("E63").ClearContents
Range("E71").ClearContents
Range("E74").ClearContents
Range("E81").ClearContents
'Mensaje
MsgBox "Todos los datos que se cargaron en las celdas amarillas se han borrado.", vbOKOnly +
vbInformation, "Borrar"
Exit Sub
'Errores
Exit1:
Exit Sub
Errores:
![Page 90: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/90.jpg)
Página 90
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 91: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/91.jpg)
Página 91
Nombre del botón: Menú Salarios (SVA01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 92: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/92.jpg)
Página 92
Nombre del botón: Instrucciones (SVA02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje (1)
MsgBox “Si necesita más filas en las cuales registrar las horas de entrada y las horas de salida:” &
Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nueva Fila’.” & Chr(13) & Chr(13) _
& “Si quiere menos filas en las cuales registrar las horas de entrada y las horas de salida:” & Chr(13) &
Chr(13) _
& “-Seleccione una celda de la fila que quiere eliminar.*” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Fila’.” & Chr(13) & Chr(13) _
& “(*no se puede eliminar la primera fila)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (1) - Los Botones"
'Mensaje (2)
MsgBox “Vaya al Menú Configuración para lo siguiente:” & Chr(13) & Chr(13) _
& “Cargar el nombre de su institución.” & Chr(13) & Chr(13) _
& “Cargar el símbolo de moneda para su país.” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.” &
Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un departamento.” & Chr(13) &
Chr(13) _
& “(para cambiar cómo los tiempos calculados en decimales son redondeados ubíquese en la celda
J13)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (2) - Menú Configuración"
'Ir a la celda de redondear
Range("J13").Select
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 93: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/93.jpg)
Página 93
Nombre del botón: Imprimir (SVA03)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Mensaje
MsgBox “Para imprimirlo pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’ abajo.” &
Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la Celda B15
Range("B15").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
Exit Sub
![Page 94: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/94.jpg)
Página 94
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 95: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/95.jpg)
Página 95
Nombre del botón: Borrar Datos (SVA04)
'Función del botón: Borrar contenidos
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Seleccionar el rango de celdas para borrar
Application.GoTo Reference:="SVariables_03"
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="SVariables_04"
ActiveCell.Offset(-1, 0).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Mensaje
Answer = MsgBox("Serán borradas solamente las fechas y horas." & Chr(13) & Chr(13) & "¿Está
seguro que quiere borrarlas?", vbYesNo + vbExclamation, "Borrar")
If Answer = 7 Then GoTo Exit1
'Borrar los contenidos
Range(CellRange1 & ":" & CellRange2).ClearContents
'Mensaje
MsgBox "Todos las fechas y horas se han borrado.", vbOKOnly + vbInformation, "Borrar"
Exit Sub
'Errores
![Page 96: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/96.jpg)
Página 96
Exit1:
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 97: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/97.jpg)
Página 97
Nombre del botón: Nueva Fila (SVA05)
'Función del botón: Insertar fila
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Insertar una fila
Application.GoTo Reference:="SVariables_01"
Selection.EntireRow.Insert
'Copiar la fila oculta
Application.GoTo Reference:="SVariables_02"
Selection.Copy
'Pegar fila la fila oculta
Application.GoTo Reference:= "SVariables_01"
ActiveCell.Offset(-1, 0).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "Una nueva fila se ha insertado.", 0 + 64, "Nueva Fila"
Exit Sub
'Errores
Errores:
![Page 98: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/98.jpg)
Página 98
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 99: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/99.jpg)
Página 99
Nombre del botón: Eliminar Fila (SVA06)
'Función del botón: Eliminar fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Seleccione una celda de la fila que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar la primera fila.", 0 + 64, "Eliminar Fila”
'Verificar que la celda que se seleccionó es una fila que registra los detalles de antigüedad
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “F” And ActiveCell.Text <> “PF” Then GoTo Salir1
'Asegurarse de que la primera fila no esté eliminado
If ActiveCell.Text = “PF” Then GoTo Salir2
'Seleccionar la fila para eliminar
CellRange1 = ActiveCell.Address
ActiveCell.Offset(0, 7).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
![Page 100: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/100.jpg)
Página 100
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar la fila?", 48 + 4, "Eliminar Fila")
If Answer = 7 Then GoTo Salir3
‘Eliminar la fila
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "La fila se ha eliminado.", 0 + 64, "Eliminar Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar una celda de una fila que registra una hora de entrada y una de
salida.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar la primera fila.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
![Page 101: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/101.jpg)
Página 101
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 102: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/102.jpg)
Página 102
Nombre del botón: Menú Salarios (SHE01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MS
MS.Activate
MS.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 103: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/103.jpg)
Página 103
Nombre del botón: Instrucciones (SHE02)
'Función del botón: Mostrar Instrucciones
'Errores
On Error GoTo Errores
'Mensaje (1)
MsgBox “Si necesita más filas en las cuales registrar las horas de entrada y las horas de salida:” &
Chr(13) & Chr(13) _
& “- Pulse el botón ‘Nueva Fila’.” & Chr(13) & Chr(13) _
& “Si quiere menos filas en las cuales registrar las horas de entrada y las horas de salida:” & Chr(13) &
Chr(13) _
& “-Seleccione una celda de la fila que quiere eliminar.*” & Chr(13) & Chr(13) _
& “- Pulse el botón ‘Eliminar Fila’.” & Chr(13) & Chr(13) _
& “(*no se puede eliminar la primera fila)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (1) - Los Botones"
'Mensaje (2)
MsgBox “Vaya al Menú Configuración para lo siguiente:” & Chr(13) & Chr(13) _
& “Cargar el nombre de su institución.” & Chr(13) & Chr(13) _
& “Cargar el símbolo de moneda para su país.” & Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un nombre de empleado.” &
Chr(13) & Chr(13) _
& “Llenar la lista desplegable que aparece donde tiene que cargar un departamento.” & Chr(13) &
Chr(13) _
& “(para cambiar cómo los tiempos calculados en decimales son redondeados ubíquese en la celda
L15)”, _
vbOKOnly + 64, "Cómo Configurar la hoja (2) - Menú Configuración"
'Ir a la celda de redondear
Range("L15").Select
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 104: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/104.jpg)
Página 104
Nombre del botón: Imprimir (SHE03)
'Función del botón: Imprimir
'Errores
On Error GoTo Errores
'Mensaje
MsgBox “Para imprimirlo pulse el botón ‘Imprimir’ que aparece después de pulsar ‘Aceptar’ abajo.” &
Chr(13) & Chr(13) _
& “Tamaño de papel:” & Chr(13) & Chr(13) _
& “El informe está configurado para papel Carta.” & Chr(13) _
& “Se puede usar papel A4. Si quiere usarlo, en vista preliminar antes de imprimir, pulse el botón
‘Configurar…’ (Excel 1997 – 2003) o ‘Configurar página…’ (Excel 2007 / 2010) y seleccione el tamaño
de papel A4.”, _
vbOKOnly + 64, "Imprimir"
'Imprimir
ActiveWindow.SelectedSheets.PrintPreview
'Ir a la Celda B17
Range("B17").Select
Exit Sub
'Errores
Errores:
Select Case Err.Number
Case 1004
MsgBox "Lo siento – Excel no puede imprimirlo y devuelve el siguiente mensaje de error:" & Chr(13) &
Chr(13) _
& Err.Description & Chr(13) & Chr(13) _
& "Es posible que haya un problema con la configuración de la página (verifique el tamaño de papel
que se seleccionó) o el ‘driver’ de su impresora.", _
vbOKOnly + vbCritical, "Error"
Exit Sub
![Page 105: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/105.jpg)
Página 105
Case Else
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
Exit Sub
End Select
![Page 106: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/106.jpg)
Página 106
Nombre del botón: Borrar Datos (SHE04)
'Función del botón: Borrar contenidos
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Mensaje
Answer = MsgBox("Serán borradas solamente las fechas, las horas, y las justificaciones de las horas
extras." & Chr(13) & Chr(13) & "¿Está seguro que quiere borrarlas?", vbYesNo + vbExclamation,
"Borrar")
If Answer = 7 Then GoTo Exit1
'Seleccionar el rango de celdas para borrar (justificación de las horas extras)
Application.GoTo Reference:="HorasExtras_05"
CellRange1 = ActiveCell.Address
Application.GoTo Reference:="HorasExtras_06"
ActiveCell.Offset(-1, 0).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Borrar los contenidos
Range(CellRange1 & ":" & CellRange2).ClearContents
'Seleccionar el rango de celdas para borrar (las fechas y horas)
Application.GoTo Reference:="HorasExtras_03"
CellRange1 = ActiveCell.Address
![Page 107: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/107.jpg)
Página 107
Application.GoTo Reference:="HorasExtras_04"
ActiveCell.Offset(-1, 0).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
'Borrar los contenidos
Range(CellRange1 & ":" & CellRange2).ClearContents
'Mensaje
MsgBox "Todas las fechas, las horas y las justificaciones de las horas extras se han borrado.",
vbOKOnly + vbInformation, "Borrar"
Exit Sub
'Errores
Exit1:
Exit Sub
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 108: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/108.jpg)
Página 108
Nombre del botón: Nueva Fila (SHE05)
'Función del botón: Insertar fila
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Insertar una fila
Application.GoTo Reference:="HorasExtras_01"
Selection.EntireRow.Insert
'Copiar la fila oculta
Application.GoTo Reference:="HorasExtras_02"
Selection.Copy
'Pegar la fila oculta
Application.GoTo Reference:= "HorasExtras_01"
ActiveCell.Offset(-1, 0).Select
ActiveSheet.Paste
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "Una nueva fila se ha insertado.", 0 + 64, "Nueva Fila"
Exit Sub
'Errores
Errores:
![Page 109: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/109.jpg)
Página 109
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 110: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/110.jpg)
Página 110
Nombre del botón: Eliminar Fila (SHE06)
'Función del botón: Eliminar fila
'Declaraciones
Dim CellRange1 As String
Dim CellRange2 As String
Dim Answer As Integer
'Errores
On Error GoTo Errores
'Desproteger la hoja
ActiveSheet.Unprotect
'Mensaje
MsgBox "Seleccione una celda de la fila que quiere eliminar.” & Chr(13) & Chr(13) _
& “No se puede eliminar la primera fila.", 0 + 64, "Eliminar Fila”
'Verificar que la celda que se seleccionó es una fila que registra los detalles de antigüedad
Do Until Mid(ActiveCell.Address, 2, 2) = "A$"
ActiveCell.Offset(0, -1).Select
Loop
If ActiveCell.Text <> “F” And ActiveCell.Text <> “PF” Then GoTo Salir1
'Asegurarse de que la primera fila no esté eliminado
If ActiveCell.Text = “PF” Then GoTo Salir2
'Seleccionar la fila para eliminar
CellRange1 = ActiveCell.Address
ActiveCell.Offset(0, 9).Select
CellRange2 = ActiveCell.Address
Range(CellRange1 & ":" & CellRange2).Select
![Page 111: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/111.jpg)
Página 111
'Mensaje
Answer = MsgBox("¿Está seguro que quiere eliminar la fila?", 48 + 4, "Eliminar Fila")
If Answer = 7 Then GoTo Salir3
‘Eliminar la fila
Selection.EntireRow.Delete
'Proteger la hoja
ActiveSheet.Protect
'Mensaje
MsgBox "La fila se ha eliminado.", 0 + 64, "Eliminar Fila"
Exit Sub
'Errores
Salir1:
MsgBox "Tiene que seleccionar una celda de una fila que registra una hora de entrada y una de
salida.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir2:
MsgBox "No se puede eliminar la primera fila.", 0 + 16, "Error"
ActiveSheet.Protect
Exit Sub
Salir3:
ActiveSheet.Protect
Exit Sub
Errores:
![Page 112: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/112.jpg)
Página 112
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 113: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/113.jpg)
Página 113
Nombre del botón: Menú Configuración (CON01)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MC
MC.Activate
MC.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 114: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/114.jpg)
Página 114
Nombre del botón: Menú Principal (CON02)
'Función del botón: Ir a otra hoja
'Errores
On Error GoTo Errores
'Ir a la hoja: MP
MP.Activate
MP.Range("A1").Select
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
ActiveSheet.Protect
![Page 115: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/115.jpg)
Página 115
Cuando el programa se abre
'Función del código: Mostrar copyright
'Errores
On Error GoTo Errores
'Ir al Menú Principal
MP.Activate
'Asegurarse de que la otra hoja esté protegida
ActiveSheet.Protect
'Mensaje
MsgBox "Calculadora de Salarios Versión 2" & Chr(13) & Chr(13) _
& "Copyright © 2012 Rupert Parsons Algunos Derechos Reservados" & Chr(13) & Chr(13) _
& "No puede utilizar esta obra para fines comerciales." & Chr(13) & Chr(13) _
& "Esta obra está bajo una licencia de Reconocimiento-NoComercial-CompartirIgual bajo la misma
licencia 3.0 de Creative Commons o versiones avanzadas." & Chr(13) & Chr(13) _
& "Para ver los detalles de la licencia que se aplican a esta obra pulse el botón ‘Copyright’.", _
0 + 64, "Copyright"
'Ir a la celda “A5” de la hoja
MP.Range("A1").Select
Exit Sub
'Errores
Errores:
MsgBox "Lo siento – la operación asociada con este botón no funciona correctamente. Es posible que
la estructura / diseño de la hoja del cálculo o el código del programa haya sido cambiado. Le
recomiendo que descargue el programa de nuevo.", vbOKOnly + vbCritical, "Error"
![Page 116: Excel Macros VBA (Calculadora de Salarios)](https://reader033.vdocuments.site/reader033/viewer/2022050711/544c362baf7959a4438b59bd/html5/thumbnails/116.jpg)
Página 116
Deshabilitar cortar y pegar
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode = xlCut Then
Application.CutCopyMode = False
Application.CellDragAndDrop = False
End If
End Sub
Private Sub Workbook_Deactivate()
Application.CellDragAndDrop = True
End Sub
---------------------------------------------------------------------------------------------------------------------------------------
Fin del documento