如何将dynamic范围string文本传递给EXCEL VBA中的SQL查询IN子句

我有dynamic范围string数据,需要传递修剪单元格和单引号和逗号分隔到SQL查询。

A 123ABC345 234CDE678 ZSE123MTR POR123456 

结果:

 select * from table name where col1 in ('123ABC345','234CDE678','ZSE123MTR','POR123456') 

 Dim query as String query = "select * from table name where col1 in (" range("A1").Select While ActiveCell.Value <> "" and ActiveCell.Offset(1, 0).Value <> "" query = query + "'" + Activecell.Value + "', " ActiveCell.Offset(1, 0).Select Wend query = query + "'" + Activecell.Value + "')" 

试试这个代码:

 sqlstr = "select * from table name where col1 in ('" sqlstr = sqlstr & Join(Application.Transpose(Range("A1:A4").Value), "','") & "')"