乐于分享
好东西不私藏

客户资料上千条,还要逐个填模板打印?这个VBA神器一键搞定!

客户资料上千条,还要逐个填模板打印?这个VBA神器一键搞定!

#VBA #Excel技巧

你有没有遇到过这样的崩溃瞬间:手里握着上千个客户信息,老板让你一个一个填到固定的模板里,再打印出来?

其实这种“数据多、模板死、打印烦”的场景,打工人都懂。今天就给你分享一段VBA代码,让它像流水线上的机器人一样,自动帮你填表、打印、清空,几百上千个客户一键全搞定。


代码逻辑

你要做的步骤其实特别机械:

  1. 1. 从客户信息表里读一行数据
  2. 2. 把信息填入模板表对应的位置上
  3. 3. 打印模板(单个客户信息)
  4. 4. 重复1~3步,直到所有都完成
  5. 5. 最后清空模板,留着下次再用

VBA就是你的“自动抄写员”。代码里的 循环(For i = 2 To lastRow) 就是让机器一遍遍跑客户名单;每次跑的时候,把姓名、电话这些数据塞到模板的指定格子(比如B2、D2);然后执行打印;全部跑完后再清空填过的单元格,保证模板恢复成空白,下次打开还是干干净净。


直接上代码!复制粘贴就能用

Sub PrintAllCustomers()    Dim wsData As Worksheet    Dim wsTemplate As Worksheet    Dim lastRow As Long    Dim i As Long    Dim customerID As String, name As String, gender As String    Dim phone As String, email As String, city As String, regDate As String    ' 设置工作表对象    Set wsData = ThisWorkbook.Worksheets("客户信息明细")    Set wsTemplate = ThisWorkbook.Worksheets("单个客户信息模板")    ' 获取数据最后一行(A列)    lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row    ' 循环处理每一行数据(从第2行开始,跳过标题)    For i = 2 To lastRow        ' 读取客户信息        customerID = wsData.Cells(i, 1).Value        name = wsData.Cells(i, 2).Value        gender = wsData.Cells(i, 3).Value        phone = wsData.Cells(i, 4).Value        email = wsData.Cells(i, 5).Value        city = wsData.Cells(i, 6).Value        regDate = wsData.Cells(i, 7).Value        ' 将数据填入模板对应单元格        With wsTemplate            .Range("B2").Value = customerID            .Range("D2").Value = name            .Range("B3").Value = gender            .Range("D3").Value = phone            .Range("B4").Value = email            .Range("D4").Value = city            .Range("B5").Value = regDate        End With        ' 打印当前客户模板(直接打印1份,如需预览可将Preview参数设为True)        wsTemplate.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False    Next i     With wsTemplate        .Range("B2:B5").ClearContents        .Range("D2:D4").ClearContents    End With    MsgBox "所有客户信息打印完成!"End Sub

使用小贴士

  • • 模板里填的位置(比如B2、D2)你要提前对好,如果表格结构不一样,记得改代码里的单元格地址。

有了这段VBA,再多的客户资料都能一键打印、自动清空,从此告别机械劳动。赶紧试试吧!

📢 重要通知:不想错过「Excel每日一学」的每一篇干货?

  由于公众号推送规则调整,“设为星标” 是确保您能准时收到我们原创内容的最佳方式。

✨ 请您花2秒完成:

  1. 点击顶部公众号名称,进入主页。

  2. 点击右上角 【…】,选择 【设为星标】。

您的👍 点赞 +转发 + 在看,是对我们持续分享的最大支持!


感谢您阅读至此。

关注本公众号,后台发消息:20260227    获取代码示例文件

VBA常用小代码合集

相关学习资料