Вот краткий пример, показывающий, как вы можете это сделать:
Option Explicit
Public Sub UpdateFolderQueryFormula(ByVal psQueryName As String, ByVal psPath As String)
ThisWorkbook.Queries(psQueryName).Formula = "let Source = Folder.Files(""" & psPath & """) in Source"
End Sub
Public Sub Test()
UpdateFolderQueryFormula "Stage 6", ThisWorkbook.Path
End Sub
При необходимости вызывайте UpdateFolderQueryFormula
, будь то при открытии рабочей книги или по запросу пользователя, возможно, с одним или обоими параметрами, предоставленными пользователем (в этом случае добавьте проверку и обработку ошибок).
Когда вы присваиваете .Formula
, вы должны предоставить правильно построенную строку, которая будет выглядеть точно так же, как созданная через пользовательский интерфейс Excel.