使用vba宏程序生成sql中in语句参数的值

由于oracle数据库sql中in语句最多参数为1000条,如果我们有大量的数据需要用in语句查询,那把这些数据组装就成个一个很痛苦的问题,希望以下的宏程序能帮助到你

Sub substr() '截取前1000个单元格的数据并转化为sql格式 '数据1','数据2'
    Dim row As Long, rowNum As Integer, column As Integer, str As String
    Set thisws = ActiveSheet
    row = thisws.UsedRange.Rows.count
    num = 1
    column = 2
    str = "'"
    For i = 1 To row
        If (i Mod 1000) <> 0 Then
        'If (i Mod 500) <> 0 Then '截取前500
            If IsEmpty(Cells(i + 1, 1)) Then
                str = str + "'" + Cells(i, 1) + "'" '默认第一行第一列,如果需要修改列需要把Cells(i, 1)中的1,修改为你所需要的列
            Else
                str = str + "'" + Cells(i, 1) + "',"
            End If
            Cells(i, 2) = ""
        Else
            str = str + "'" + Cells(i, 1) + "'"
            Cells(num, column) = str
            num = num + 1
            str = "'"
        End If
        
        If IsEmpty(Cells(i + 1, 1)) Then
            Cells(num, column) = str
            Exit For
        End If

    Next

End Sub

下篇:使用宏拼接多个in的sql语句-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值