使用 VBA For 循环连接 excel 中的列

Using a VBA For Loop to concatenate column in excel

我在excel中有一列数据。我想遍历数据并将内容组合成一个字符串。我可以指定单元格范围,但如果范围未知怎么办。我希望能够循环直到单元格变空。这是我到目前为止所拥有的。

Sub ConcatenationLoop()

Dim rng As Range, i As Integer

Set rng = Range("A1", "A5")

For i = 1 To rng.Rows.Count
With Range("B1")
    If .Value = "" Then
        .Value = rng.Range("A" & i)
    Else
        .Value = .Value & ", " & rng.Range("A" & i)
    End If
End With
Next

是否可以结合类似的东西:

Do Until IsEmpty(ActiveCell)

非常感谢您的帮助!

结束子

使用

从顶部获取第一个空单元格
lLastRow = sheet.Cells(1, 2).End(xlDown).Row

在你的 for 循环中使用它

For i = 1 To lLastRow
With Worksheets("YourSheetName")
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

循环到 LastRow。

您可以使用以下框架:

Sub ALoop()
    Dim r As Long
    r = 2 '//Start row
    While Len(Cells(r, "A")) > 0 '//Or While Not IsEmpty(...)
        '// Your code
        r = r + 1 '//Don't forget to increment row
    Wend
End Sub