Excel VBA ссылается на объекты QueryTable по имени
Я разрабатываю инструмент MS Excel 2013 с VBA, который включает в себя использование QueryTables. Одно неудобство, которое я испытываю, это доступ ксуществующий QueryTables в листе Excel. В настоящее время единственный способ найти таблицу запросов, которую я могу найти, - это целочисленная индексация. Я придумал следующий код для быстрого подтверждения концепции
Sub RefreshDataQuery()
Dim querySheet As Worksheet
Dim interface As Worksheet
Set querySheet = Worksheets("QTable")
Set interface = Worksheets("Interface")
Dim sh As Worksheet
Dim QT As QueryTable
Dim startTime As Double
Dim endTime As Double
Set QT = querySheet.ListObjects.item(1).QueryTable
startTime = Timer
QT.Refresh
endTime = Timer - startTime
interface.Cells(1, 1).Value = "Elapsed time to run query"
interface.Cells(1, 2).Value = endTime
interface.Cells(1, 3).Value = "Seconds"
End Sub
Это работает, но я действительно неЯ не хочу делать это таким образом. Инструмент конечного продукта будет иметь до пяти разных QueryTables. Я хочу сослаться на QueryTable по его имени.
Что было бы хорошо, если бы я мог перевести код ниже
Set QT = querySheet.ListObjects.item(1).QueryTable
К чему-то по линии
Set QT = querySheet.ListObjects.items.QueryTable("My Query Table")
Любые предложения будут высоко ценится.