Macro para actualizar (refrescar) Power Query y Power Pivot en Excel.

Aquí les dejo este código que sirve para actualizar Power Query y Power Pivot ordenadamente en Excel. Funciona con consultas (queries) hechas en inglés o en español.

Option Explicit
' Tomado de https://stackoverflow.com/questions/36902975/auto-updating-power-query-connection-via-vba
Sub Actualizar()
    Dim Conn As WorkbookConnection
    Dim Cname As String
    
    ' Actualiza las queries.
    For Each Conn In ActiveWorkbook.Connections
        If Left(Conn.Name, 8) = "Query - " Or Left(Conn.Name, 8) = "Consulta" Then
            Cname = Conn.Name
            With ActiveWorkbook.Connections(Cname).OLEDBConnection
                .BackgroundQuery = False
                .Refresh
            End With
        End If
    Next
    
    ' Actualiza el modelo de datos (Power Pivot)
    ThisWorkbook.Model.Refresh
    
    MsgBox "Listo"
End Sub

Y de pilón, aquí está cómo pedir un nombre de archivo en Excel.

Sub AbrirArchivo()
' Empiezan por definir el rango RutaAlArchivo. Puede ser Hoja1!A2 o darle un nombre a esa celda.
    Dim Ruta
    Ruta = Application.GetOpenFilename("Archivos de Excel (.xls), .xls", , "Archivo de algo")
    If Not (Ruta = False) Then
        Range("Hoja1!A2") = Ruta
    End If
End Sub

1 comentario en «Macro para actualizar (refrescar) Power Query y Power Pivot en Excel.»

Deja una respuesta

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

*