Censo 2007 Perú - por Distritos
En el siguiente ejercicio de Tabla Dinámica se utilizará como Data la información recaudada
en el censo por distritos realizado el año 2007 en el Perú.
*Data obtenida de la ENAHO
1ro - Vamos a acomodar los datos de manera que se haga más sencillo el lenguaje de programación.
Acomodando detalles de edición (por ejemplo, rangos de celdas).
(Para mayor visualización de la imagen, hacer click en la misma)
2do - Vamos a crear las Macros correspondientes que nos permitan crear la Tabla Dinámica con la cual podamos tener un uso más eficiente de la información disponible recaudada en el Censo.
Las Macros que se utilizarón son las siguientes:
Sub gen_tablas()
Dim wsd1 As Worksheet
Dim wsd2 As Worksheet
Dim ptcache As PivotCache
Dim pt As PivotTable
Dim prange As Range
Dim finalrow As Long
'Si hay gráficos previos en la "Hoja1", los borra
'chartobjects=gráficos
If Worksheets("Hoja1").ChartObjects.Count > 0 Then
Worksheets("Hoja1").ChartObjects.Delete
End If
Set wsd1 = Worksheets("Hoja1")
For Each pt In wsd1.PivotTables
pt.TableRange2.Clear
Next pt
Set wsd2 = Worksheets("Perú_Censo_porDistrito_2007")
finalrow = wsd2.Cells(Rows.Count, 1).End(xlUp).Row
Set prange = wsd2.Cells(1, 1).Resize(finalrow, 9)
Sheets("Perú_Censo_porDistrito_2007").Select
Set ptcache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=prange.Address)
Set pt = ptcache.CreatePivotTable(tabledestination:=Worksheets("Hoja1").Range("a1"), tablename:="pivottable2")
pt.Format xlReport8
pt.ManualUpdate = True
pt.AddFields RowFields:=Array("Departamento", "Provincia")
With pt.PivotFields("Distrito")
.Orientation = xlDataField
.Position = 1
.NumberFormat = "#,##0"
End With
With pt.PivotFields("Población Censada (Total)")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.NumberFormat = "#,##0"
End With
With pt.PivotFields("Viviendas Censadas (Total)")
.Orientation = xlDataField
.Function = xlSum
.Position = 3
.NumberFormat = "#,##0"
End With
With pt.PivotFields("Viviendas Ocupada, con personas presentes")
.Orientation = xlDataField
.Function = xlSum
.Position = 4
.NumberFormat = "#,##0"
End With
pt.ManualUpdate = False
Sheets("Hoja1").Select
End Sub
(Para mayor visualización de la imagen, hacer click en la misma)
3ro - Una vez creada la Tabla Dinámica, podemos administrar la información por segmentos y
sectores logrando un análisis de datos más eficiente
(Para mayor visualización de la imagen, hacer click en la misma)