使用 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
我在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