Contenido
Exportar una tabla dinámica a un nuevo libro de Excel utilizando VBA implica copiar la tabla dinámica desde su ubicación original y pegarla en un nuevo archivo. A continuación, te muestro un ejemplo de cómo se podría lograr esto con un sencillo script en VBA.
Sub ExportarTablaDinamicaANuevoLibro()
Dim pt As PivotTable
Dim wb As Workbook
Dim wsNuevo As Worksheet
Dim wsOriginal As Worksheet
' Establecer referencia a la hoja que contiene la tabla dinámica
Set wsOriginal = ThisWorkbook.Sheets("Hoja1") ' Cambia "Hoja1" por el nombre de tu hoja
' Establecer referencia a la tabla dinámica
On Error Resume Next
Set pt = wsOriginal.PivotTables(1) ' Cambia al índice o al nombre correcto si tienes multiple tablas dinamicas
On Error GoTo 0
If pt Is Nothing Then
MsgBox "No se encontró la tabla dinámica en la hoja especificada."
Exit Sub
End If
' Crear un nuevo libro
Set wb = Workbooks.Add
' Agregar una nueva hoja al nuevo libro (La mayoría de veces un nuevo libro ya tiene una hoja por defecto)
With wb
Set wsNuevo = .Sheets(1) ' Utilizar la hoja que viene por defecto
wsNuevo.Name = "TablaDinamica" ' Opcional: Cambiar el nombre a la hoja
End With
' Copiar la tabla dinámica al nuevo libro
pt.TableRange2.Copy Destination:=wsNuevo.Range("A1")
' Activar el nuevo libro
wb.Activate
MsgBox "La tabla dinámica ha sido exportada exitosamente."
End Sub
Pasos a seguir:
- Abre Excel y presiona `ALT + F11` para abrir el Editor de VBA.
- En el menú, selecciona `Insertar > Módulo` para crear un nuevo módulo.
- Copia y pega el código anterior en el módulo.
- Modifica `»Hoja1″` en el código por el nombre de la hoja que contiene la tabla dinámica original.
- Ejecuta el código presionando `F5` o desde el menú seleccionando `Ejecutar > Ejecutar Sub/UserForm`.
Este código localizará la primera tabla dinámica en la hoja especificada, creará un nuevo libro de trabajo, y copiará la tabla dinámica allí. Asegúrate de ajustar el nombre de la hoja y, si es necesario, el índice de la tabla dinámica si tienes múltiples tablas en la misma hoja.