繁体   English   中英

Excel-VBA字符串操作问题

[英]Excel-VBA string manipulation issue

我正在尝试复制一些8位数字以用于SQL搜索。

SQL查询给我错误,经过一些调试后,我发现该字符串未包含所有数据。 似乎在25个左右的数字后,我的for循环停止输入数据,就好像字符串已满。

谢谢您的帮助...

Lots = ""
For iRow = 2 To 500
    If IsEmpty(Sheets("Filtered Data").Cells(iRow, 2)) Then Exit For
    Lots = Lots & ",'" & Sheets("Filtered Data").Cells(iRow, 2).value & "'"
Next iRow

Lots = "(" & Mid(Lots, 2, Len(Lots) - 1) & ")"

您的代码工作正常。 大概您在该列中有一个空单元格正在使其退出循环。

您应该发布数据引发错误

至于虽然您可以考虑以下代码来利用Join()函数构建字符串

Dim Lots As String

With Worksheets("Filtered Data") '<--| change "Filtered Data" with your actual worksheet name
    With .Range("B2", .Cells(.Rows.Count, 2).End(xlUp)) '<-- consider its column "B" cells from row 2 down to last non empty one
        Lots = "('" & Join(Application.Transpose(.Value), "','") & "')" '<-- build up the string
    End With
End With

假设“ B”列中的所有非空单元格都是连续的(即非空白单元格之间的非空白单元格),但是如果不是这种情况,则可以很容易地对其进行修改

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM