我使用 Excel 2016,需要从列表对象中获取值。有几列。例如三,我需要获取column1中的值,其中column2=smth,column3=smth。我怎样才能快速做到这一点?
如果您想要 VBA 中的 SQL 语法和速度,那么您需要使用 ADO DB 连接器。根据我的经验,它比使用本机 Excel 函数查找数据快 4 倍。
这是一个冗长的主题,需要您阅读多篇文章。比一篇 SO 帖子所能容纳的信息要多得多。
这是一篇示例文章:https://technet.microsoft.com/en-us/library/ee692882.aspx https://technet.microsoft.com/en-us/library/ee692882.aspx
这是该示例的代码:
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H1
Dim objConnection As Object
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Scripts\Test.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
With CreateObject("ADODB.Recordset")
.Open "Select * FROM [Sheet1$] Where Number = 2", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
Do Until .EOF
Debug.Print .Fields.Item("Name"), .Fields.Item("Number")
.MoveNext
Loop
.Close
End With
objConnection.Close
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)