2012-02-07 105 views
2

我正在使用Excel 2010.我需要創建一個宏,在特定單元格中輸入文本後,將連接的SQL命令文本相應地更改爲輸入的文本。執行刷新後,必須顯示來自數據庫的最新信息。在Excel連接中更改SQL命令

我遇到了更改SQL命令文本的問題。下面的代碼 - 「Set qTable ..」行確切地給了我「運行時錯誤9下標超出範圍」錯誤。

Dim qTable As QueryTable 
Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTables(1) 
qTable.commandText = commandText 
qTable.Refresh 

「Dynamic_Reports」是Excel文件的名稱。 「報告」是工作表的名稱,信息必須更新。

我發現上面的錯誤類似的帖子,但他們都沒有談到QueryTable屬性。我期待着你的回答!

回答

2

在對象瀏覽器中查找一個ListObject有一個QueryTable而不是QueryTables集合所以;

Set qTable = Workbooks("Dynamic_Reports").Sheets("Report").ListObjects(1).QueryTable 
+0

它仍然不起作用。 「運行時錯誤'9':下標超出範圍」 – ositra 2012-02-08 08:02:35