[英]Excel VBA - Dynamic Range
我在一張紙上有一個數字列表,需要將其分批添加到數組中。 因此,我在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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.