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
17/02/2013 a las 10:24 pm
Este ejemplo me permitió conocer la aplicación de los parámetros de macros en las tablas dinámicas.
09/04/2013 a las 6:04 pm
olep estas guias son icreible
26/06/2013 a las 10:40 pm
Este ejemplo me ayudo apoder corregir problemas con mi aplicación
26/06/2013 a las 10:44 pm
Me gustaría encontrar un sistema completo con acceso con contraseña menu principal y modulos de accion y de reportes.