¿Cómo cambiar la fuente de datos de una tabla dinámica usando VBA?

Para cambiar la fuente de datos de una tabla dinámica utilizando VBA en Excel, puedes seguir estos pasos. Asegúrate de que la tabla dinámica ya esté creada y que tengas identificados tanto el nombre de la tabla dinámica como el rango del nuevo origen de datos. Aquí tienes un ejemplo del código VBA que puedes usar para cambiar la fuente de datos:

Sub CambiarFuenteDatosTablaDinamica()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim nuevoRango As Range
    Dim nombreTablaDinamica As String
    Dim nombreHoja As String
    
    ' Especifica el nombre de la hoja donde está la tabla dinámica
    nombreHoja = "Hoja1"
    
    ' Especifica el nombre de la tabla dinámica
    nombreTablaDinamica = "TablaDinamica1"
    
    ' Especifica el nuevo rango de datos
    ' Asegúrate de definir correctamente el rango, puedes usar la función Range
    ' Por ejemplo, si el nuevo rango está en la misma hoja:
    Set nuevoRango = Worksheets(nombreHoja).Range("A1:D100")
    
    ' Establece el objeto de hoja de trabajo
    Set ws = ThisWorkbook.Worksheets(nombreHoja)
    
    ' Buscar la tabla dinámica
    Set pt = ws.PivotTables(nombreTablaDinamica)
    
    ' Cambiar la fuente de datos de la tabla dinámica
    pt.ChangePivotCache ThisWorkbook.PivotCaches.Create( _
        SourceType:=xlDatabase, _
        SourceData:=nuevoRango.Address(ReferenceStyle:=xlR1C1, External:=True))
    
    ' Actualizar la tabla dinámica
    pt.RefreshTable
    
    MsgBox "La fuente de datos de la tabla dinámica ha sido actualizada exitosamente."
End Sub

Paso a paso del código:

  • Definir Variables: Define las variables para la hoja de trabajo, la tabla dinámica, el nuevo rango de datos, y los nombres correspondientes.
  • Especificar Detalles: Cambia `nombreHoja`, `nombreTablaDinamica`, y el rango de `nuevoRango` según tus necesidades.
  • Encontrar la Tabla Dinámica: Localiza la tabla dinámica en cuestión usando `ws.PivotTables(nombreTablaDinamica)`.
  • Cambiar Origen de Datos: Cambia el origen de datos de la tabla dinámica utilizando `ChangePivotCache`.
  • Actualizar la Tabla Dinámica: Refresca la tabla dinámica para reflejar los cambios aplicados en el origen de datos.

Puedes adaptar este código según la estructura de tu libro de Excel y asegurarte de que todo está correctamente identificado. Asegúrate de que las celdas especificadas en `nuevoRango` cubran toda el área de tu nuevo origen de datos.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario