La tabla dinámica que se mostrará a continuación es de gran utilidad para los negocios como los hoteles que requieren de un control no tan minucioso de sus inventarios, pues como venden en tan pocas cantidades, algunos trabajadores no ponen mucho énfasis en controlar las ventas de productos como galletas, chicle, gaseosas, y otros hasta el momento de la contabilización. A diferencia de las grandes empresas, los hoteles no manejan una gran logística, pero esta falta de control podría ser problemática entre el personal de turno, puesto que al final de un determinado período, el administrador solo se guía de la cantidad física que encuentra en los pequeños estantes y de la contabilidad manual de los empleados de turno mañana y noche que encuentra encada cuaderno de control. En algunos casos, uno de los trabajadores contabiliza erróneamente, debido a que la lista es larga y a la mala organización de los datos, lo que produce que no haya una coincidencia de datos al momento de compararse los cuadernos de control de ambos trabajadores. Debido a la falta de productos por parte de uno, en ciertos casos, el administrador termina por descontar a ambos ante la falta de pruebas precisas para responsabilizar al verdadero responsable, lo que termina en el perjuicio del que no cometió el error.
Debido a ello, la tabla dinámica servirá para que cada uno evite presentar erróneamente los datos y, de esta manera, evitar un descuento injusto.
Para ello se introdujo la siguiente estructura de códigos:
Sub CrearTablaDinamica()
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(65536, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 3)
Sheets("hoja1").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("Hoja2").Range("B3"), TableName:="PivotTable3")
PT.Format xlReport
'Actualizacion
PT.ManualUpdate = True
PT.AddFields RowFields:=Array("Producto", "tipo")
With PT.PivotFields("Cantidad")
.Orientation = xlDataField
.Function = xlSum
.Position = 1
.NumberFormat = "#,##0"
End With
PT.ManualUpdate = False
Sheets("Hoja2").Select
End Sub
(Para mayor visualización de la imagen, hacer click en la misma)
La tabla dinámica se muestra en el siguiente archivo: VENTAS DE PRODUCTOS HOTEL
Margarita Chávez Cueva
04/09/2014 a las 12:28 am
Favor enviarme planilla en Excel con tabla dinámica para control de compras