求助:编写Excel循环宏实现指定单元格值拼接功能
Excel宏实现指定单元格拼接需求
以下是满足需求的VBA宏代码,它会从D14开始遍历处理,直到D列出现空单元格为止:
Sub ConcatenateCells() Dim currentRow As Integer currentRow = 14 ' 起始行定位到第14行 ' 循环处理,直到当前行D列单元格为空 Do While Not IsEmpty(Cells(currentRow, "D")) ' 按规则拼接内容并写入对应行K列 Cells(currentRow, "K").Value = Cells(currentRow, "J").Value & " - " & Range("D$6").Value & " - " & Cells(currentRow, "D").Value currentRow = currentRow + 1 ' 移动到下一行 Loop End Sub
代码说明
currentRow = 14:明确从第14行(对应D14)开始处理Do While Not IsEmpty(Cells(currentRow, "D")):以D列单元格非空作为循环持续条件- 字符串拼接使用
&连接符,严格按照「J列值 - D6固定值 - D列值」的格式组合,结果直接写入同K列 - 每次循环后行号自增,直到遇到D列空单元格时终止循环
使用步骤
- 打开目标Excel文件
- 按
Alt + F11打开VBA编辑器 - 右键点击左侧工作簿名称,选择「插入」→「模块」
- 将上述代码粘贴到模块窗口中
- 按
F5运行宏,或回到Excel界面通过「开发工具」→「宏」选择ConcatenateCells执行
内容的提问来源于stack exchange,提问作者Diego Conejo
相关产品推荐
相关产品推荐

