Macro crea tabla dinámica

De la manera más amable solicito ayuda para crear una macro que me haga una tabla dinámica en uan hoja especifica. Lo que ocurre es que he intentado con unos códigos visto en internet y aquí en este mismo foro pero no me han servido me sale un error "13" donde dice que los tipos no coinciden. La tabla con los datos tiene 32 columnas, con 89523 filas, estas ultimas no son estáticas por lo que van a seguir creciendo, por lo que se requiere que la macro parta del rango A1 y escoja todos los datos.

Respuesta
1

Estos codigos, escogen el rago de datos y crean la tabla dinámica: si no colocas el número de fila, puedes crear la tabla dinámica por toda la hoja, y las filas que adiciones ya estaran incluidas en tu tabla dinámica

Columns("A:B").Select
Sheets.Add
Nombre = ActiveSheet.Name
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Hoja1!A:B", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:=Nombre & "!R3C1", TableName:="Tabla dinámica_new", _
DefaultVersion:=xlPivotTableVersion12

Luego ya es el armado de la tabla:

With ActiveSheet.PivotTables("Tabla dinámica_new")
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
With ActiveSheet.PivotTables("Tabla dinámica_new").PivotFields("Nombre")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Apellidop")
.Orientation = xlRowField
.Position = 2
End With

Lo que te he colocado con negrilla son los titulos que a forma de ejemplo he puesto, pero debes colocar los que tu tengas. El error 13 que te pudo generar es debido al nombre de la tabla dinámica, ya que al crear una tabla dinámica, le puedes dar un nombre o puedes dejar que por defecto se le de el nombre, en este caso la tabla dinámica se llama "Tabla dinámica_new", para evitar que te de error con alguna otra tabla que tengas en tu archivo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas