You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

操作步骤(超简单)

  1. 打开你的Excel文件,按下Alt + F11快速打开VBA编辑器
  2. 在左侧工程面板里,右键点击你的工作簿名称,选「插入」→「模块」
  3. 把上面的代码粘贴到弹出的空白模块窗口里
  4. 回到Excel界面,点击顶部的「开发工具」→「宏」,找到ConcatenateToWynik,点击「执行」就行

自定义小提示

  • 如果你的4个主列不是A-D,比如是B-E列,就把代码里的"A"、"B"、"C"、"D"改成对应列的字母,同时把"E"改成「Wynik」列的列字母
  • 如果数据不是从第2行开始(比如表头占了2行),把For i = 2 To lastRow里的2改成数据起始的行号就行

这样运行一次,几千行数据瞬间处理完,比手动操作快太多啦!

内容的提问来源于stack exchange,提问作者Alwexistwo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:02:09