ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 我是么么茶

[求助] 【急!】如何从一个Excel表中提取数据,自动填入指定模板,生成多个Excel文件?

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2021-4-2 15:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个帖子起到很多作用,不断在加长

TA的精华主题

TA的得分主题

发表于 2021-4-3 07:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
魂断蓝桥 发表于 2017-1-22 12:48
拆分到工作簿

Option Explicit

谢谢魂断蓝桥,前几天正为(拆分到工作簿)发愁。雪中送碳。

TA的精华主题

TA的得分主题

发表于 2021-4-4 20:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jjmsxr 发表于 2021-4-1 22:49
太完美了,这基础上可不可以导出的文件插入图片后删除插图页

能否把要插入的图片放在文件夹里而不是放在模板文件里?并把对应图片名标注清楚,如:j0001.jpg、j0002.jpg

TA的精华主题

TA的得分主题

发表于 2021-4-4 21:20 | 显示全部楼层
jjmsxr 发表于 2021-4-1 22:49
太完美了,这基础上可不可以导出的文件插入图片后删除插图页

从表格中提取图片不知道如何操作,如果你的图片是和“数据”文件放在一个文件夹,就可以使用以下代码:
Sub 批量导出到模板3()
Dim ar, br, cr, i%, j%, wb1 As Workbook, wb2 As Workbook, wb As Workbook, d As Object, shp As Shape
    Set wb1 = ThisWorkbook
'    sheet2.Shapes
    ar = wb1.Sheets("数据").Range("a2:il" & Cells(Rows.Count, 1).End(xlUp).Row)
    ReDim br(1 To UBound(ar) + 1, 1 To UBound(ar, 2))
    Set d = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(ar)
        For j = 1 To UBound(ar, 2)
            br(1, j) = Replace(Cells(1, j).Address(False, False), "1", "") & "列"
            If ar(i, j) = "" Then
            Else
            br(i + 1, j) = ar(i, j)
            End If
        Next j
    Next i
    Set wb2 = Workbooks.Open(wb1.Path & "\模板1.xls")

    For m = 1 To UBound(ar)
        For j = 2 To UBound(br, 2)
            d(br(m + 1, 1) & "-" & br(1, j)) = br(m + 1, j)
        Next j
        Set wb = Workbooks.Add
        wb2.Sheets.Copy before:=wb.Sheets(1)

        With wb.Sheets("工作表1")
            cr = .Range("a3:k45")
            For i = 1 To UBound(cr)
                For j = 1 To UBound(cr, 2)
                    If Right(cr(i, j), 1) = "列" Then
                        If cr(i, j) <> "L列" Then
                            .Cells(i + 2, j) = d(ar(m, 1) & "-" & cr(i, j))
                        Else
'                        a = .Range("j30").RowHeight * 13
'                        b = .Range("j30").ColumnWidth * 2
                        p = wb1.Path & "\" & ar(m, 12) & ".jpg"
                        Set rng = .Range("j30:k42")
                        .Shapes.AddPicture p, True, True, rng.Left, rng.Top, rng.Width, rng.Height
                        End If
                    ElseIf cr(i, j) = "箱  内  设  备  清  单" Then
                        For s = 1 To 21
                            .Cells(i + s + 2, j + 2) = ar(m, 5 * (s - 1) + 17)
                            .Cells(i + s + 2, j + 3) = ar(m, 5 * (s - 1) + 18)
                            .Cells(i + s + 2, j + 4) = ar(m, 5 * (s - 1) + 19)
                            .Cells(i + s + 2, j + 5) = ar(m, 5 * (s - 1) + 20)
                            .Cells(i + s + 2, j + 6) = ar(m, 5 * (s - 1) + 21)
                        Next s
                    Else

                    End If
                Next j
            Next i
            .Cells(10, 20).Value = ar(m, 1) '
        End With
        wb.SaveAs (wb1.Path & "\" & ar(m, 2) & ".xlsx")
        wb.Close
        d.RemoveAll
    Next m
    MsgBox "导出完毕!"
End Sub


TA的精华主题

TA的得分主题

发表于 2021-4-4 21:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
jjmsxr 发表于 2021-4-1 22:49
太完美了,这基础上可不可以导出的文件插入图片后删除插图页

数据-插入图片.zip (25.51 KB, 下载次数: 48)

TA的精华主题

TA的得分主题

发表于 2021-4-6 14:47 | 显示全部楼层
这个帖子,我现在每天都来看一看,经常会增加内容。有许多可学习的东西。

TA的精华主题

TA的得分主题

发表于 2021-4-8 10:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

你好,我下载了测试。运行不下去,中断时出现提示:
运行时错误‘1004’:未找到指定文件。
点调试,停在这一句上:
.Shapes.AddPicture p, True, True, Rng.Left, Rng.Top, Rng.Width, Rng.Height

TA的精华主题

TA的得分主题

发表于 2021-4-9 08:05 | 显示全部楼层
z9bhd 发表于 2021-4-4 20:35
能否把要插入的图片放在文件夹里而不是放在模板文件里?并把对应图片名标注清楚,如:j0001.jpg、j0002.j ...

插入文件里图片已解决,想问一下是不是可以把模板和数据两个文件合并成一个来实现

2021.4.6.rar

244.11 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2021-4-9 08:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jjmsxr 发表于 2021-4-9 08:05
插入文件里图片已解决,想问一下是不是可以把模板和数据两个文件合并成一个来实现

我其实是只老菜鸟,你的问题我不敢说会有答案,只能看看再说

TA的精华主题

TA的得分主题

发表于 2021-4-9 13:20 | 显示全部楼层
z9bhd 发表于 2021-4-9 08:48
我其实是只老菜鸟,你的问题我不敢说会有答案,只能看看再说

你对我来说是高手中的高手
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-17 20:35 , Processed in 0.044881 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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