通过SQL删除Excel表格中的行

通过SQL删除Excel表格中的行,sql,excel,vba,Sql,Excel,Vba,我正在尝试删除与数组中的条目匹配的所有行。现在我正试图将数组中的值转换成字符串,我知道这是行不通的,但我很难找到正确的方法。有什么建议吗?(或者我不应该使用SQL来执行此操作?) 公共子删除行(ByVal surveyString作为字符串) Dim surveyArr()作为字符串 Dim cn作为ADODB.Connection 将rs设置为ADODB.Recordset 作为字符串的Dim strSQL 作为字符串的Dim strFile 作为字符串的Dim strCon strFile=

我正在尝试删除与数组中的条目匹配的所有行。现在我正试图将数组中的值转换成字符串,我知道这是行不通的,但我很难找到正确的方法。有什么建议吗?(或者我不应该使用SQL来执行此操作?)

公共子删除行(ByVal surveyString作为字符串)
Dim surveyArr()作为字符串
Dim cn作为ADODB.Connection
将rs设置为ADODB.Recordset
作为字符串的Dim strSQL
作为字符串的Dim strFile
作为字符串的Dim strCon
strFile=ThisWorkbook.FullName
strCon=“Provider=Microsoft.ACE.OLEDB.12.0;数据源=”&strFile_
&“扩展属性=”“Excel 12.0;HDR=Yes;IMEX=1”“
Set cn=CreateObject(“ADODB.Connection”)
Set rs=CreateObject(“ADODB.Recordset”)
cn.开放式strCon
如果测量为“”,则
surveyArr=拆分(surveyString,“|”)的值
如果结束
“这就是我需要帮助的地方
strSQL=“从[Employee$]中删除*作为e,其中e.部门在”&surveyArr
rs.开放式strSQL,中国

我认为您无法使用ADO对Excel文件删除行。有趣的是,我不知道这一点。我有大约15列和800k行。循环遍历列中的每个单元格以确定是否需要删除它是一个好主意吗?您是否考虑过使用实际的数据库?循环遍历每个单元格不是一个好主意,但您可以将数据加载到数组
arr=range(yourrange)
并在其中循环,使用与您的条件匹配的数组的索引删除您想要的行。您可以选择要保留的结果,然后将该数据推送到其他地方吗?例如,
从[Employee$]中选择*作为E,其中E.部门不在…