本指南示範如何使用 VBA 巨集直接在 Excel 表上執行 SQL 查詢。 這種方法比硬編碼範圍具有優勢,即使資料變更也能保持靈活性。
不要使用固定範圍或命名範圍,而是動態決定在 SQL 字串中使用的表位址。這可確保您的查詢始終針對正確的資料。 方法如下:
要擷取命名範圍的位址,請使用:
<code class="language-vba">Sheets("shtName").Range("namedRangeName").Address</code>
這會以字串形式傳回位址(例如,$A$1:$A$8)。
如需更完整的地址(包括工作表名稱),請使用:
<code class="language-vba">ActiveWorkbook.Names.Item("namedRangeName").RefersToLocal</code>
這提供了格式為 =Sheet1!$C$1:$C$4 的字串。 要在 SQL 語句中使用它:
<code class="language-vba">strRangeAddress = Mid(ActiveWorkbook.Names.Item("namedRangeName").RefersToLocal, 2) strSQL = "SELECT * FROM [" & strRangeAddress & "]"</code>
這會提取位址部分並建構 SQL 查詢。
以上是如何使用 VBA 巨集對 Excel 資料表執行 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!