QueryTables を使用する VBA を使用した MS Excel 2013 ツールを開発しています。
1 つの不都合は、Excel ワークシート内の既存のQueryTables にアクセスすることです。現在、クエリ テーブルにアクセスする唯一の方法は、整数インデックスを使用することです。概念を簡単に証明するために、次のコードを思いつきました。
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
これはうまくいきますが、私はこのようにしたくありません。最終製品ツールには、最大 5 つの異なる QueryTable があります。名前で QueryTable を参照したい。
どのように翻訳できますか:
Set QT = querySheet.ListObjects.item(1).QueryTable
次のようなものに:
Set QT = querySheet.ListObjects.items.QueryTable("My Query Table")