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