Excel Avanzado

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

Excel Avanzado

Tabla dinámica para las exportaciones

| Sin comentarios

Las exportaciones a nivel nacional suelen clasificarse en diversos rubros, tales como pesca, agricultura, mineros, etc. Además, esta información suele presentarse en trimestres para cada año. De esta forma, podemos crear tablas dinámicas que nos resuman las exportaciones totales de cada rubro para cada año, comparar los trimestres con mayores exportaciones u observar las exportaciones totales de todos los rubros para cada año.

En el presente caso se presenta la información de las exportaciones por trimestres para cada año a partir de 1980 hasta el 2012. Se utilizará las tablas dinámicas para agrupar la cantidad total de exportaciones para cada rubro en el año. De esta forma tendremos una manera más ordenada de observar estos datos anualmente.

Para utilizar tablas dinámicas a través del uso de macros utilizaremos la siguiente programación:

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("Hoja3")

For Each PT In WSD1.PivotTables
PT.TableRange2.Clear
Next PT

Set WSD2 = Worksheets("Exportaciones")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 9)

Sheets("Exportaciones").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)

Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("Hoja3").Range("B3"), TableName:="PivotTable3")
PT.Format PivotStyleLight9

PT.ManualUpdate = True
PT.AddFields RowFields:=Array("Año", "trimestre")

With PT.PivotFields("Export. productos tradicionales")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.NumberFormat = "#,##0.##"
End With

With PT.PivotFields("Export. productos pesqueros")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.NumberFormat = "#,##0.##"
End With

With PT.PivotFields("Export. prod. Agrícolas")
.Orientation = xlDataField
.Function = xlSum
.Position = 3
.NumberFormat = "#,##0.##"
End With

With PT.PivotFields("Export. productos mineros")
.Orientation = xlDataField
.Function = xlSum
.Position = 4
.NumberFormat = "#,##0.##"
End With

With PT.PivotFields("Export. petróleo crudo y derivados")
.Orientation = xlDataField
.Function = xlSum
.Position = 5
.NumberFormat = "#,##0"
End With

With PT.PivotFields("Export. prod. no tradicionales")
.Orientation = xlDataField
.Function = xlSum
.Position = 6
.NumberFormat = "#,##0.##"
End With

With PT.PivotFields("Otras exportaciones")
.Orientation = xlDataField
.Function = xlSum
.Position = 7
.NumberFormat = "#,##0.##"
End With

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

En el documento a continuación se encuentra la base de datos y la tabla dinámica resultante del uso de las macros.

Tabla dinamica para exportaciones

Deja una respuesta

Los campos requeridos estan marcados con *.