如何用VBA实现A列与B列数据批量拼接至C列(适配动态行)
Excel VBA批量拼接姓名方案(适配动态最后一行)
原代码仅能处理A2、B2单元格的内容拼接,无法批量处理多行数据,也不能适配报表最后一行动态变化的场景。以下是修改后的代码及说明:
Sub ConcatenateStrings() Dim lastRow As Long Dim i As Long ' 获取A列最后一行的行号(适配动态变化的报表) lastRow = Cells(Rows.Count, "A").End(xlUp).Row ' 批量遍历从第2行到最后一行的单元格 For i = 2 To lastRow ' 拼接A列LastName和B列FirstName,写入C列对应行 Cells(i, "C").Value = Cells(i, "A").Value & ", " & Cells(i, "B").Value Next i End Sub
关键修改说明
- 动态定位最后一行:使用
Cells(Rows.Count, "A").End(xlUp).Row获取A列有数据的最后一行行号,无论报表新增多少行,都能自动适配范围 - 批量循环处理:通过
For循环遍历第2行到最后一行的所有数据行,逐个完成姓名拼接并写入C列对应位置 - 简化代码逻辑:移除了不必要的中间字符串变量,直接通过单元格引用完成拼接,提升代码运行效率
内容的提问来源于stack exchange,提问作者Kim
相关产品推荐
相关产品推荐

