Excel Avanzado

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

Excel Avanzado

Tabla Dinámica del Censo por Distritos del Perú 2007

| Sin comentarios

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).

Data de Censo 2007

(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

Macros - Tabla Dinámica

(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

Tabla Dinámica

(Para mayor visualización de la imagen, hacer click en la misma)

Jorge Ordoñez - TD del Censo 2007 Perú

Deja una respuesta

Los campos requeridos estan marcados con *.