如何在文件/数据修改时自动刷新Excel仪表板

问题描述 投票:0回答:1

我在 Excel 中创建了一个强大的查询,它将每 1 小时刷新一次。但是是否可以设置刷新属性来刷新源文件中数据更改的数据?预先感谢。

excel powerquery
1个回答
0
投票

Excel 没有内置功能来根据源文件中的更改直接自动刷新 Power Query 连接,因此您可以根据文件的修改日期使用 VBA,如下例所示(但请记住,您可以文件的新版本,但具有相同的数据):

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:01:00"), "CheckForChanges"
End Sub

Sub CheckForChanges()
    Dim lastModifiedTime As Date
    Dim sourceFilePath As String
    
    sourceFilePath = "C:\path\to\your\sourcefile.xlsx"
    
    lastModifiedTime = FileDateTime(sourceFilePath)
    
    If ThisWorkbook.Sheets(1).Range("A1").Value <> lastModifiedTime Then
        ThisWorkbook.Sheets(1).Range("A1").Value = lastModifiedTime
        
        ThisWorkbook.RefreshAll
    End If

    Application.OnTime Now + TimeValue("00:01:00"), "CheckForChanges"
End Sub

https://community.fabric.microsoft.com/t5/Power-Query/VBA-Code-to-Refresh-Power-Query/td-p/2449582

如果您使用的是 Office 365,您可以使用 Power Automate 创建新流程,以便在源文件更改时触发刷新。

https://community.fabric.microsoft.com/t5/Power-Query/VBA-Code-to-Refresh-Power-Query/td-p/2449582

如果您正在寻找增量刷新:https://www.youtube.com/watch?v=cxOH9qsDunA

© www.soinside.com 2019 - 2024. All rights reserved.