Error en mi código, no puedo generar la tabla dinámica

En esta ocasión estoy trabajando en un código que me debería generar una tabla dinámica en una nueva hoja, pero por alguna razón me crea la nueva hoja pero no me crea la tabla, les adjunto mi código y los datos que uso como referencias

Sub ResumenALDO()
'eliminar hoja
On Error Resume Next
Worksheets("Resumen_ALDO").Delete
'Crear Hoja Resumen_ALDO
Worksheets.Add(Before:=ActiveSheet).Name = "Resumen_ALDO"
'Crear PivotCache
Set PCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:="Datos_ALDO")
'Crear Tabla Dinamica
Set TDinamica = PCache.CreatePivotTable( _
TableDestination:="Resumen_ALDO!B3", TableName:="Resumen ALDO")
'Insertar filas
With TDinamica.PivotFields("CÓDIGO")
 .Orientation = xlRowField
 .Position = 1
End With
'Insertar Valores
With TDinamica.PivotFields("CANTIDAD")
 .Orientation = xlDataField
 .Position = 1
 .Function = xlSum
 .NumberFormat = "#,##0"
End With
End Sub

Esta es una peña muestra de la tabla de donde se deberían tomar los datos, se llama "Datos_ALDO"

La hoja donde esta ubicada la tabla "Datos_ALDO" se llama "RED ALDO" y el nombre de la hoja que se va a crear es "Resumen_ALDO"

Respuesta
2

Abraham Valencia Ya logre hacer funcionar el código, gracias por tu ayuda, adjuntare el código modificado por si a alguien le llega a ayudar

Sub ResumenALDO()
    Dim PCache As PivotCache
    Dim TDinamica As PivotTable
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set ws = Worksheets("RED ALDO")
    On Error Resume Next
    'Crear PivotCache
    Set PCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, "Datos_ALDO")
    'Crear Tabla Dinamica
    Set TDinamica = PCache.CreatePivotTable(ws.Range("V1"))
    'Insertar filas
    With TDinamica.PivotFields("CÓDIGO")
     .Orientation = xlRowField
     .Position = 1
    End With
    'Insertar Valores
    With TDinamica.PivotFields("CANTIDAD")
     .Orientation = xlDataField
     .Position = 1
     .Function = xlSum
     .NumberFormat = "#,##0"
    End With
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

1 respuesta más de otro experto

Respuesta
1

[Hola

Quita el "On Error Resume Next" (y si es necesario también la fila que borra la hoja) y comenta en que línea te marcar el error y envía también una captura de pantalla del error.

Abraham Valencia

PD: Incluso si puedes mejor deja el archivo en un "Drive" y comparte el enlace para poder verlo ya que reproducir tu archivo para hacer pruebas tomaría tiempo que no necesariamente uno tiene

En ningún momento marca error, solo no crea la tabla... ya incluso hice ejecutar la macro paso a paso y no veo que nada se resalte como error o que se salta alguna linea, nada de eso... Y no me es posible compartir este archivo, ya que el obtiene datos desde otros libro, los cuales también me tocaría adjuntar y esos contienen información delicada

Si corres esa macro JAMAS va a marcar error justamente porque has colocado "On Error Resume Next" por eso te decía que lo borres...

¿Ya activaste la macro sin la línea mencionada? ¿Estás seguro? ¿Qué ocurrió? ¿Simplemente nada? ¿Ni siquiera creo la hoja nueva?

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas