Crear una Tabla Dinámica con macro en Excel

Compatibilidad: Truco compatible con Excel 365Truco compatible con Excel 2019Truco compatible con Excel 2016Truco compatible con Excel 2013Truco compatible con Excel 2010

Cuando necesitamos crear una Tabla Dinámica con macro en Excel, desde la grabadora de macros, se produce un error.

Crear una Tabla Dinámica con macro en Excel
Este problema se produce porque la hoja de cálculo de destino y el rango de la nueva tabla dinámica se especifican en la macro grabada. Por lo tanto, la macro grabada no es dinámica. Además, no se reproducirá repetidamente la macro grabada.

Mostrándose dos posibles errores:

  • Error en tiempo de ejecución '1004': error definido por la aplicación.

  • Error de tiempo de ejecución '5': argumento o llamada a procedimiento no válido.

Crear una Tabla Dinámica con macro en Excel: Mensaje, Error en tiempo de ejecución ’1004′: error definido por la aplicación.
 
Para trabajar con macros y tablas dinámicas deberemos de adecuar el código VBA generado por la grabadora.
  1. Grabar la macro para la tabla dinámica.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir al Explorador de proyecto / Módulos / Doble clic sobre: Módulo1. Mostrará el código de la macro similar a:

    Sub Macro 1()
    '
    ' Macro1 Macro
    '  

     

    Sheets.Add

    ActiveWorkbook.Worksheets("Hoja5").PivotTables("Tabla dinámica2").PivotCache. _

    CreatePivotTable TableDestination:="Hoja2!R3C1", TableName:= _

    "Tabla dinámica1", DefaultVersion:=xlPivotTableVersion14

    Sheets("Hoja2").Select

    Cells(3, 1).Select

    End Sub

  4. Eliminar la línea 5:

    Sheets.Add
  5. Eliminar las líneas 9 y 10:

    Sheets("Hoja2").Select

    Cells(3, 1).Select

  6. Modificar en línea 7:

    Original: TableDestination:="Hoja2!R3C1"
    Cambiar a: TableDestination=""
  7. El código de la macro quedará similar a:

    Sub Macro 1()
    '
    ' Macro1 Macro
    '  

     

    ActiveWorkbook.Worksheets("Hoja5").PivotTables("Tabla dinámica2").PivotCache. _

    CreatePivotTable TableDestination:="", TableName:= _

    "Tabla dinámica1", DefaultVersion:=xlPivotTableVersion14

    End Sub

  8. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

  9. Reproducir la macro y verificar como no muestra los errores, de la grabadora de macros.

Así podemos crear una tabla dinámica con macro en Excel con la grabadora.

Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.