【问题标题】:How to pass Dynamic Range string text to SQL query IN clause in EXCEL VBA如何将动态范围字符串文本传递给 EXCEL VBA 中的 SQL 查询 IN 子句
【发布时间】:2016-03-04 20:57:48
【问题描述】:

我有动态范围字符串数据,需要通过修剪单元格和单引号和逗号分隔到 SQL 查询。

A
123ABC345
234CDE678
ZSE123MTR
POR123456

结果:

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

【问题讨论】:

  • 我在 Excel VBA 中需要这个,范围不是静态的,它是动态数据。
  • 我没说你不需要VBA

标签: excel vba


【解决方案1】:

试试这个代码:

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

【讨论】:

    【解决方案2】:
    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 + "')"
    

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2019-06-04
      相关资源
      最近更新 更多