本指南演示了如何使用 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中文网其他相关文章!