在Excel中使用MS Query查询自身(不是外部源)

我可以将excel文件连接到自身作为MS Query的数据源来工作.但是一旦我移动文件,查询就会尝试从网络上的先前位置找到它并失败.

我只是想让它尝试自我查询.

我尝试从数据源中的连接字符串中删除目录路径,但它只是错误.

这甚至可能吗?
或者,还有更好的方法?

最佳答案 你能用VBA吗?如果这样做,您可以在ThisWorkbook中放置代码来更新查询字符串:

Sub UpdateQuery()
    'This is just an example. Query must be changed accordingly
    ThisWorkbook.Connections(1).ODBCConnection = "SELECT `Sheet1$`.a, `Sheet1$`.b FROM `" & ThisWorkbook.FullName & "`.`Sheet1$` `Sheet1$`"
End Sub

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Success Then UpdateQuery
End Sub

Private Sub Workbook_Open()
    UpdateQuery
End Sub
点赞