Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Tabla Dinámica - Presupuesto Planillas y Aportaciones

| 4 comentarios

Data Planilla

Se preparó un reporte de lo desembolsado en un mes por concepto de planillas y aportaciones en una empresa. Al colocar la información de la Planilla completa de una empresa en la pestaña Data Planilla se elaborará una tabla dinámica con los totales desembolsados por trabajador y por el total de la empresa en el mes cargado. Este reporte apoya a la gerencia para saber los costos laborales y cuanto provisionar para el siguiente mes.

A continuación adjunto la programación del archivo adjunto:

Sub CrearTabla()
Dim WSD1 As Worksheet
Dim WSD2 As Worksheet
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim PRange As Range
Dim FinalRow As Long
Set WSD1 = Worksheets("Hoja2")
For Each PT In WSD1.PivotTables
PT.TableRange2.Clear
Next PT
Set WSD2 = Worksheets("Data Planilla")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 100)
Sheets("Data Planilla").Select   Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("Hoja2").Range("B3"), TableName:="Presupuesto_Planilla")
PT.Format xlReport88
PT.ManualUpdate = True
PT.AddFields RowFields:=Array("Codigo Trabajador")

With PT.PivotFields("Total Ingresos")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.NumberFormat = "#,##0.00"
.Name = "Total_Ingresos"
End With

With PT.PivotFields("Total Descuentos")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.NumberFormat = "#,##0.00"
.Name = "Total_Descuentos"
End With

With PT.PivotFields("Neto Boleta")
.Orientation = xlDataField
.Function = xlSum
.Position = 3
.NumberFormat = "#,##0.00"
.Name = "Neto_Boleta"
End With

With PT.PivotFields("Aporte ESSALUD")
.Orientation = xlDataField
.Function = xlSum
.Position = 4
.NumberFormat = "#,##0.00"
.Name = "ESSALUD"
End With

With PT.PivotFields("Aporte SENATI")
.Orientation = xlDataField
.Function = xlSum
.Position = 5
.NumberFormat = "#,##0.00"
.Name = "SENATI"
End With

With PT.PivotFields("Total Desembolso Empresa")
.Orientation = xlDataField
.Function = xlSum
.Position = 6
.NumberFormat = "#,##0.00"
.Name = "Total_Desembolso_Empresa"
End With

PT.ManualUpdate = False
Sheets("Hoja2").Select
End Sub

Elaborado por: Elias Carlos Cabana

4 comentarios

  1. Este ejemplo me permitió conocer la aplicación de los parámetros de macros en las tablas dinámicas.

  2. olep estas guias son icreible

  3. Este ejemplo me ayudo apoder corregir problemas con mi aplicación

  4. Me gustaría encontrar un sistema completo con acceso con contraseña menu principal y modulos de accion y de reportes.

Deja una respuesta

Los campos requeridos estan marcados con *.