Ric*_*d H 54 sql excel vba function excel-vba
我在excel工作表中有一个较大的表:
Column_1 | Column_2 | Column_3
ValueA ValueB ValueC
....
Run Code Online (Sandbox Code Playgroud)
我需要的是一个函数,它将范围和类似SQL的查询字符串作为输入,并返回与查询匹配的行范围,例如:
=SQL_SELECT(A1:C1000, "SELECT * WHERE Column_1 = ValueH AND Column_3 = blah")
Run Code Online (Sandbox Code Playgroud)
这样的事情存在吗?或者什么是实现自己的最佳方式?
谢谢
chr*_*sen 48
您可以使用Get External Data(显示其名称)位于Excel 2010的"数据"选项卡中,connection在工作簿中设置a来查询自身的数据.使用From Other Sources From Microsoft Query连接到Excel
设置完成后,您可以使用VBAto来操作connectionto,以及查看和修改驱动查询的SQL命令.此查询确实引用了内存工作簿,因此不需要保存来刷新最新数据.
这是一个快速Sub演示访问连接对象
Sub DemoConnection()
Dim c As Connections
Dim wb As Workbook
Dim i As Long
Dim strSQL As String
Set wb = ActiveWorkbook
Set c = wb.Connections
For i = 1 To c.Count
' Reresh the data
c(i).Refresh
' view the SQL query
strSQL = c(i).ODBCConnection.CommandText
MsgBox strSQL
Next
End Sub
Run Code Online (Sandbox Code Playgroud)