Excel Avanzado

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

Excel Avanzado

Tabla Dinámica aplicada a Empresa de Archivos y Custodia de Documentos

| 1 comentario

En este ejemplo se utilizan tablas dinámicas  que muestren  los tipos de documentos en el área legal de la empresa, su ubicación y la cantidad de los mismos, asimismo se pueden filtrar los archivos que han sido utilizados con anterioridad.

Tabla Dinámica aplicada a una empresa de archivos FILES S.A.

Base de Datos FILES S.A.

Base de Datos

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

*Usando VBA creamos una tabla dinámica que permite encontrar rápidamente la ubicación de los archivos, estableciendo los tipos de documentos y si han sido utilizados con anterioridad.

Ejemplo 1 :

Ejemplo 1

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

En este caso se piden los expedientes penales que no han sido utilizado antes y se encuentra fácilmente su ubicación.

Ejemplo 2:

Ejemplo 2

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

Aqui podemos seleccionar los expedientes penales, ver su ubicación y seleccionar los archivos que han sido utilizados con anterioridad obteniendo:

Ejemplo 2 resultado

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

Código Utilizado:

Sub TablaFiles()
Dim WSD1 As Worksheet
Dim WSD2 As Worksheet
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim PRange As Range
Dim FinalRow As Long

'Se define la hoja de trabajo
Set WSD1 = Worksheets("TABLA")

'Borrar las tablas dinamicas que se encuentran en la hoja
For Each PT In WSD1.PivotTables
PT.TableRange2.Clear
Next PT

'Definir el área de entrada y establecer un caché dinamico
Set WSD2 = Worksheets("Base de Datos")
FinalRow = WSD2.Cells(Rows.Count, 1).End(xlUp).Row
Set PRange = WSD2.Cells(1, 1).Resize(FinalRow, 11)

'Nos situamos en la hoja con los datos
Sheets("Base de Datos").Select
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=PRange.Address)

'Se crea una tabla dinamica en blanco, especiificando la ubicación de salida y nombre de la tabla
Set PT = PTCache.CreatePivotTable(TableDestination:=Worksheets("TABLA").Range("B15"), TableName:="PivotTable3")
PT.Format xlPTClassic
'Agregamos el contenido de las tablas
With WSD1.PivotTables("PivotTable3").PivotFields("UNIDAD")
.Orientation = xlRowField
.Position = 1
End With
With WSD1.PivotTables("PivotTable3").PivotFields("TIPO DE DOCUMENTO")
.Orientation = xlColumnField
.Position = 1
End With
With WSD1.PivotTables("PivotTable3").PivotFields("CODIGO ITEM - Sistema" _
)
.Orientation = xlPageField
.Position = 1
End With

Sheets("TABLA").Select
Range("C5").Select
ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables( _
"PivotTable3").PivotFields("OBSERVACIÓN 1"), "Cuenta de OBSERVACIÓN 1", xlCount

End Sub

Un comentario

  1. Interesante los modeos de tablas dinámicas, esto me permitira mejorar mi proyecto que tengo.

Deja una respuesta

Los campos requeridos estan marcados con *.