吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1832|回复: 23
收起左侧

[经验求助] excel如何批量复制数据到同一个模板中生成并打印

  [复制链接]
q6378561 发表于 2023-3-13 21:36
50吾爱币
举例: sheet1里面有不同的名字和专业 sheet2是一个录取通知书模板 如何批量导入生成并打印
(公司是内网不能用软件,最好是vba或者jsa代码这样子)

最佳答案

查看完整内容

可以使用VBA宏来实现Excel批量复制数据到同一个模板中生成并打印,具体步骤如下: 1.创建一个新的工作表,并命名为“录取通知书模板”。在该工作表中,设计一个包含录取通知书中需要填写的所有信息的表单,包括收件人姓名、专业、录取结果等。 2.在原始数据所在的工作表(例如,Sheet1)中,设置一个按钮或快捷键,用于触发宏的执行。点击按钮或使用快捷键后,宏会自动执行。 3.在VBA编辑器中,编写一个宏来实现数据的复 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

980041382 发表于 2023-3-13 21:36
本帖最后由 980041382 于 2023-3-13 23:00 编辑

可以使用VBA宏来实现Excel批量复制数据到同一个模板中生成并打印,具体步骤如下:

1.创建一个新的工作表,并命名为“录取通知书模板”。在该工作表中,设计一个包含录取通知书中需要填写的所有信息的表单,包括收件人姓名、专业、录取结果等。

2.在原始数据所在的工作表(例如,Sheet1)中,设置一个按钮或快捷键,用于触发宏的执行。点击按钮或使用快捷键后,宏会自动执行。

3.在VBA编辑器中,编写一个宏来实现数据的复制和生成。首先,宏需要从原始数据所在的工作表中获取需要复制的数据,例如收件人姓名、专业和录取结果等。这些数据可以使用For循环遍历工作表中的每一行来获取。

4.接下来,宏需要将这些数据复制到录取通知书模板工作表中。可以使用Copy和Paste方法来实现复制和粘贴。需要注意的是,每次复制后,宏需要自动调整复制区域的行数,以便下一次复制可以将数据复制到新的一行。

5.在所有数据都被复制到录取通知书模板工作表后,宏需要将该工作表保存为一个新的Excel文件,并自动打印。

下面是一个简单的示例代码,可以根据具体需求进行修改:

[Visual Basic] 纯文本查看 复制代码
Sub GenerateNotification()
    Dim wb As Workbook
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim printRange As Range
    
    '获取工作簿和工作表对象
    Set wb = ActiveWorkbook
    Set ws1 = wb.Sheets("Sheet1")
    Set ws2 = wb.Sheets("录取通知书模板")
    
    '确定需要复制的数据范围
    lastRow = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    
    '遍历原始数据,复制到模板中
    For i = 2 To lastRow '假设第1行是标题行
        '复制数据到模板中
        ws2.Range("B4").Value = ws1.Cells(i, 1).Value '姓名
        ws2.Range("B5").Value = ws1.Cells(i, 2).Value '专业
        ws2.Range("B6").Value = ws1.Cells(i, 3).Value '录取结果
        
        '自动调整复制区域的行数
        Set printRange = ws2.Range("B3:B6")
        Set printRange = printRange.Resize(printRange.Rows.Count + 1)
        
        '打印录取通知书
        ws2.PrintOut From:=1, To:=1, Copies:=1, Preview:=False, ActivePrinter:="打印机名称"
    Next i
    
    '保存并关闭工作簿
    wb.SaveAs "录取通知书.xlsx"
    wb.Close
End Sub
yangwei 发表于 2023-3-13 21:48
可以使用sheet2复制到word中,然后使用word的 邮件合并 功能。

看视频:https://www.bilibili.com/video/BV1iv4y1y7Jk/?spm_id_from=333.337.search-card.all.click&vd_source=469b8066da5905483594389f206bbc8f

如果我理解错了你意思说抱歉
jyjjf 发表于 2023-3-13 21:55
小小涩郎 发表于 2023-3-13 23:01
vba 不难写  关键是得看你的格式  不发示例文件没办法写的
 楼主| q6378561 发表于 2023-3-13 23:29
小小涩郎 发表于 2023-3-13 23:01
vba 不难写  关键是得看你的格式  不发示例文件没办法写的

学号 姓名 身份证 性别
1 李一 350426200011090011
2 小二 350426200011090022
3 张三 350426200011090033
这是sheet1
录取通知书
姓名: 身份证号:
这是sheet2
忘记掉问还有vba的字符串格式化怎么弄了 得姓名+{姓名}这样子

然后批量打印 可以实现吗
谢谢
小小涩郎 发表于 2023-3-14 00:10
q6378561 发表于 2023-3-13 23:29
这是sheet1
这是sheet2
忘记掉问还有vba的字符串格式化怎么弄了 得姓名+{姓名}这样子

链接:https://pan.baidu.com/s/1YTONu-uU16lDZYji_Vwf7A?pwd=u67k
提取码:u67k
--来自百度网盘超级会员V6的分享
CMOSHz 发表于 2023-3-14 00:46
这种批量处理的情况你可以有两条路走,一个是学习VBA编程,一个是学习python编程,两个都需要花时间学习,网上有很多教程,尤其是B站,学会了终身受用.
独立勿扰 发表于 2023-3-14 08:04
邮件合并功能就可以实现,在word里面编辑好模板,把数据源存储到excel里面。
鹿坪 发表于 2023-3-14 08:06
简单实现可以用VLOOKUP,不过还是需要手动改名字然后一份一份打印
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-6-8 00:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表