Excel宏开发需求:拼接字符串+数字+日期至指定列
一键实现Excel多单元格值拼接至指定列的VBA宏
刚好碰到过类似的场景,给你写个完全适配需求的VBA宏,几秒就能搞定几千行数据的拼接工作,不用手动操作。
宏的核心功能
自动遍历所有有数据的行,把每行4个主列的值用下划线_拼接,直接写入同行的「Wynik」列(也就是第5列),最终格式就是你要的REG-15_S1_2018-01-20_12333这种样式。
完整VBA代码
Sub ConcatenateToWynik() Dim ws As Worksheet Dim lastRow As Long Dim i As Long ' 用当前激活的工作表,要是固定某个表可以改成Set ws = ThisWorkbook.Sheets("你的表名") Set ws = ActiveSheet ' 获取A列最后一行有数据的行号(假设主列第一列是A,不是的话改列字母) lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 从第2行开始遍历(假设第1行是表头) For i = 2 To lastRow ' 拼接A-D列的值,写入E列(Wynik列) ws.Cells(i, "E").Value = ws.Cells(i, "A").Value & "_" & _ ws.Cells(i, "B").Value & "_" & _ ws.Cells(i, "C").Value & "_" & _ ws.Cells(i, "D").Value Next i MsgBox "拼接完成!一共处理了 " & lastRow - 1 & " 行数据。", vbInformation End Sub
操作步骤(超简单)
- 打开你的Excel文件,按下
Alt + F11快速打开VBA编辑器 - 在左侧工程面板里,右键点击你的工作簿名称,选「插入」→「模块」
- 把上面的代码粘贴到弹出的空白模块窗口里
- 回到Excel界面,点击顶部的「开发工具」→「宏」,找到
ConcatenateToWynik,点击「执行」就行
自定义小提示
- 如果你的4个主列不是A-D,比如是B-E列,就把代码里的
"A"、"B"、"C"、"D"改成对应列的字母,同时把"E"改成「Wynik」列的列字母 - 如果数据不是从第2行开始(比如表头占了2行),把
For i = 2 To lastRow里的2改成数据起始的行号就行
这样运行一次,几千行数据瞬间处理完,比手动操作快太多啦!
内容的提问来源于stack exchange,提问作者Alwexistwo
相关产品推荐
相关产品推荐

