Excel Avanzado

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

Excel Avanzado

Tabla Dinámica de gastos pre-operativos para apertura de un restaurante

| 1 comentario

En primer lugar, las tablas dinámicas o  pivot tables  nos permiten agrupar  y comparar datos de diversas formas. Asimismo, nos permite analizar una sola porción de la base de datos, visualizando de esa forma la información relevante que necesitamos.

Descargar Tabla Dinámica de gastos pre-operativos para la apertura de un restaurante - Jhan Pierre Cervantes

A continuación,  utilizaremos una tabla dinámica para agrupar los gastos pre-operativos para la apertura de un restaurante para lo cual introduciremos el siguiente código en Visual Basic:

Sub TablaDinamica()
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("Hoja1")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 6)
Sheets("Hoja1").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("Hoja2").Range("A3"), TableName:="PivotTable")
PT.Format xlReport6
PT.ManualUpdate = True
PT.AddFields RowFields:=Array("Categoria")
With PT.PivotFields("Cantidad")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.NumberFormat = "#,##0"
.Name = "Cantidad_Fisica"
End With
With PT.PivotFields("Costo_ ")
.Orientation = xlDataField
.Function = xlSum
.Position = 2
.NumberFormat = "#,##0"
End With
With PT.PivotFields("Costo_ s/IGV")
.Orientation = xlDataField
.Function = xlSum
.Position = 3
.NumberFormat = "#,##0"
End With
With PT.PivotFields("Costo_Total")
.Orientation = xlDataField
.Function = xlSum
.Position = 4
.NumberFormat = "#,##0"
End With
PT.ManualUpdate = False
Sheets("Hoja2").Select
End Sub

Al introducir mencionado código obtenemos la siguiente tabla dinámica de la base de datos de gastos pre-operativos para la apertura de un restaurante separados por categoría de acondicionamiento, capacitación, decoración y uniformes:

a111

a111122222

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

Un comentario

  1. With ActiveWorkbook.Worksheets("Inicio").Sort
    .SetRange Range(" : ")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

Deja una respuesta

Los campos requeridos estan marcados con *.