ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 537|回复: 7

[求助] 按照人员信息表内容按行拆分并填充到模板内容并单独保存为工作簿

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-28 20:06 | 显示全部楼层 |阅读模式
1、怎么把“人员信息”可以按照每行拆分分别填入“员工登记表”并且生成独立的excel文件,拆分后可以所有人员在一个工作薄也可以是按照每个人的名字独立工作簿,
拆分的时候可以选择拆分的行范围,因为人员有上千人,不是同时登记
2,在“员工登记表”对应范围按照身份证号自动插入照片(人员图像名称是身份证号码.jpg,身份证照片名称是身份证号码all.jpg)照片和工作簿不在同一个文件夹
哪位大神帮帮忙,

按行拆分填充.zip

614.59 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2023-3-29 10:00 | 显示全部楼层
图片的例子:
2023-3-29图片.png

TA的精华主题

TA的得分主题

发表于 2023-3-29 12:04 | 显示全部楼层
就在一个工作表中批量套打不行吗?何必要生成很多工作表或者工作簿呢??

TA的精华主题

TA的得分主题

发表于 2023-3-29 14:08 | 显示全部楼层

生不成图片啊,哪里错了?

按行拆分填充.zip

631.98 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2023-3-30 09:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub lqxs()
  2. Dim Arr, i&, wz, myPath$, myName$, j%
  3. Dim rng As Range, ML, MT, MW, MH
  4. Dim d, k
  5. Application.ScreenUpdating = False
  6. Set d = CreateObject("Scripting.Dictionary")
  7. myPath = ThisWorkbook.Path & "\员工身份证照片"
  8. myName = Dir(myPath & "*.jpg")
  9. Do While myName <> ""
  10.     d(myName) = ""
  11.     myName = Dir
  12. Loop
  13. k = d.keys
  14. wz = Array("d2", "h2", "i5", "n2", "d3", "h3", "n3", "d4", "h4", "n4", "d5")
  15. Sheet2.Activate
  16. Arr = [b5].CurrentRegion
  17. For i = 2 To UBound(Arr)
  18.     Sheet1.Copy after:=Sheets(Sheets.Count)
  19.     With ActiveSheet
  20.      .Name = Arr(i, 1)
  21.     For j = 0 To UBound(wz)
  22.         .Range(wz(j)) = Arr(i, j + 1)
  23.     Next
  24.     If d.exists(Arr(i, 3) & ".jpg") Then
  25.         Set rng = .[q2:q5]
  26.         With rng
  27.             ML = .Left + 1
  28.             MT = .Top + 1
  29.             MW = .Width - 2
  30.             MH = .Height - 2
  31.             ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
  32.             Selection.ShapeRange.Fill.UserPicture myPath & Arr(i, 3) & ".jpg"
  33.             Selection.ShapeRange.Line.Visible = msoFalse
  34.         End With
  35.     End If
  36.     If d.exists(Arr(i, 3) & "all.jpg") Then
  37.         Set rng = .[c14:h27]
  38.         With rng
  39.             ML = .Left
  40.             MT = .Top
  41.             MW = .Width
  42.             MH = .Height
  43.             ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
  44.             Selection.ShapeRange.Fill.UserPicture myPath & Arr(i, 3) & "all.jpg"
  45.             Selection.ShapeRange.Line.Visible = msoFalse
  46.         End With
  47.     End If
  48.     End With
  49. Next

  50. Application.ScreenUpdating = True
  51. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-3-30 10:47 | 显示全部楼层
chzsh 发表于 2023-3-29 14:08
生不成图片啊,哪里错了?

解决了

Sub lqxs()
Dim Arr, i&, wz, myPath$, myName$, j%
Dim rng As Range, ML, MT, MW, MH
Dim d, k
Application.ScreenUpdating = False
Set d = CreateObject("Scripting.Dictionary")
myPath = ThisWorkbook.Path & "\员工身份证照片\"
myName = Dir(myPath & "*.jpg")
Do While myName <> ""
    If myName <> "" Then
    d(myName) = ""
    End If
    myName = Dir
Loop
k = d.keys
wz = Array("d2", "h2", "i5", "n2", "d3", "h3", "n3", "d4", "h4", "n4", "d5")
Sheet2.Activate
Arr = [b5].CurrentRegion
For i = 2 To UBound(Arr)
    Sheet1.Copy after:=Sheets(Sheets.Count)
    With ActiveSheet
     .Name = Arr(i, 1)
    For j = 0 To UBound(wz)
        .Range(wz(j)) = Arr(i, j + 1)
    Next
    If d.exists(Arr(i, 3) & ".jpg") Then
        Set rng = .[q2:q5]
        With rng
            ML = .Left + 1
            MT = .Top + 1
            MW = .Width - 2
            MH = .Height - 2
            ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
            Selection.ShapeRange.Fill.UserPicture myPath & Arr(i, 3) & ".jpg"
            Selection.ShapeRange.Line.Visible = msoFalse
        End With
    End If
    If d.exists(Arr(i, 3) & "all.jpg") Then
        Set rng = .[c14:h27]
        With rng
            ML = .Left
            MT = .Top
            MW = .Width
            MH = .Height
            ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select
            Selection.ShapeRange.Fill.UserPicture myPath & Arr(i, 3) & "all.jpg"
            Selection.ShapeRange.Line.Visible = msoFalse
        End With
    End If
    End With
Next

Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2023-4-3 12:16 | 显示全部楼层
本帖最后由 chengyunpan 于 2023-4-3 12:22 编辑

万能套用软件用于楼主的案例(点设置,进行简单设置变变换功能就能拆分成独工作簿)

软件简介:   
     真正的软件级别,VBA通用软件,用于批量打印、拆分,用于特殊需求的录入、打印等等。不需改代码,就可以万能套用。复杂的数据引用、格式要求都能简单解决。
      单个、少量、批量操作(打印、拆分等)或者选择性操作都一样方便。
      核心很简单,就是用“=”号引用对应数据列,并作简单设置,一学就会,很容易套用到工作中遇到的实际案例。
       界面超级简单,千篇一律,傻瓜式操作。
      每个案例都仅是此软件的一个小应用,学会一个案例作参考就能一里通百里用,欢迎大家测试使用,更期待能提出宝贵意见。
     软件免费,并提供简单教程,需要做简单设计才能用到实际案例。也可以联系作者提供定制服务,小白也会用。
      文件就是软件!!!

无标题.jpg
1680495679084.png

员工登记表.rar

871.62 KB, 下载次数: 18

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-4-4 14:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
chengyunpan 发表于 2023-4-3 12:16
万能套用软件用于楼主的案例(点设置,进行简单设置变变换功能就能拆分成独工作簿)

软件简介:   

身份证要上传两张,然后分别裁剪,和图像合起来就是一个表有三个照片,这个要怎么弄?

下面身份证想上传两张然后分别截取要怎么弄?也就是这个表要上传三张照片

下面身份证想上传两张然后分别截取要怎么弄?也就是这个表要上传三张照片
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-27 23:26 , Processed in 0.047917 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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