Tabla Dinámica: Consumo de materiales médicos por paciente
Para el presente reporte en tabla dinámica se utilizó una base de datos con información de pacientes, los materiales médicos y el costo que se utilizaron con cada uno de ellos en una clínica. Este reporte es utilizado para poder realizar la planificación de compras de materiales para los siguientes meses así como la revisión de lo desembolsado para la revisión del presupuesto planeado por la clínica.
La dinámica de este reporte es que a partir de ir ingresando nuevos pacientes, nuevos meses y los materiales que consumen, la tabla dinámica irá consolidando y emitiendo el reporte mensual.
A continuación detallo lo programado para este reporte en tabla dinámica
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("Consumo")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 10)
Sheets("Consumo").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("Hoja2").Range("B3"), TableName:="Consumo")
PT.Format xlReport9
PT.ManualUpdate = True
PT.AddFields RowFields:=Array("Mes", "Paciente", "Materiales médicos")
With PT.PivotFields("Cantidad")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.NumberFormat = "0"
.Name = "Cantidad_Materiales"
End With
With PT.PivotFields("Total")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.NumberFormat = "0.00"
.Name = "Costo_Total"
End With
PT.ManualUpdate = False
Sheets("Hoja2").Select
End Sub
Elaborado por : Rosa Romero Matos