sql - Excel VBA - 动态范围
问题描述
我在工作表上有一个数字列表,需要分批添加到数组中。所以我在 List 上有 150 个左右的数字列表,需要添加到数组中,但每批 5 个。每个新批次都将用于查询 SQL 数据库。
该列表可以更改长度并且不会是偶数,可能是 20 可能是 541。
编辑:这似乎可以满足我的需要,但我确信有更好的解决方案。
Dim i As Integer
Sheets("List").Select
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("a1").Select
For i = 1 To lRow
begrng = ActiveCell.Address
ActiveCell.Offset(4, 0).Select
endrng = ActiveCell.Address
Set rng = Range(begrng, endrng)
For Each cell In rng
If Not IsEmpty(cell) Then
mystring = mystring & "','" & cell.Value
End If
Next cell
mystring = Right(mystring, Len(mystring) - 2)
mystring = ""
Next
End Sub
解决方案
尝试,
Dim i As Long, lRow As Long, mystring As String, ayes As Variant
With Worksheets("List")
lRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To lRow Step 5
ayes = Application.Transpose(.Range(.Cells(i, "A"), .Cells(i + 4, "A")).Value2)
mystring = Application.Trim(Join(ayes, Space(1)))
ayes = Split(mystring, Space(1))
mystring = Chr(39) & Join(ayes, "','") & Chr(39)
Debug.Print mystring
Next i
End With
推荐阅读
- java - 如何打印由制表符分隔的文件中的第一个单词?
- r - 按多列汇总
- postgresql - 如何在事务模式下将 statement_timeout 与 pgBouncer 一起使用
- javascript - 区分控制器的 2 条路由(NestJS)
- python - 如何确保python读取文件夹中的所有文件?
- javascript - 在输出到 HTML 之前计算数据中的列表项
- javascript - XMLHttpRequest.send() 未发送“UNION SELECT”
- apache-kafka - 有没有办法在 DeadLetterPublishingRecoverer 中找到消费者组?
- shell - 将多个 BAM 文件转换为 BED 文件
- go - 暂停和开始循环