ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 批量插入图片制作出入卡或者胸卡

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-5-23 17:26 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1、可以生成两种底色的出入卡,走读生和住校生出入卡
2、可以选择打印范围,
3、可以根据姓名插入相应的图片
学生出入卡.rar (1.8 MB, 下载次数: 385)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-23 17:27 | 显示全部楼层
  1. Sub 生成住校生校牌()
  2. Application.ScreenUpdating = False
  3. Dim x, k, m, f As Integer
  4. Dim fs1$, fs2$
  5. For Each a In Sheets("打印住校").Shapes
  6.     a.Delete
  7. Next

  8. Sheets("打印住校").Rows("11:65535").Delete
  9. Sheets("打印住校").Range("B5:C5,B6:C6,B7:D7,B8:D8,B9:D9,G5:H5,G6:H6,G7:I7,G8:I8,G9:I9").ClearContents
  10. k = Sheets("住校").Cells(Rows.Count, 1).End(xlUp).Row
  11. If Int((k - 1) / 2) = (k - 1) / 2 Then
  12. f = k / 2 - 1
  13. Else
  14. f = Int((k - 1) / 2)
  15. End If
  16. For m = 1 To f
  17. Sheets("打印住校").Rows("1:10").Copy Sheets("打印住校").Cells(Rows.Count, 1).End(xlUp).Offset(2)
  18. Next m
  19. For x = 2 To k Step 2
  20. Sheets("打印住校").Cells(x * 4.5 - 4, 2) = Sheets("住校").Cells(x, 2).Value
  21. Sheets("打印住校").Cells(x * 4.5 - 3, 2) = Sheets("住校").Cells(x, 3).Value
  22. Sheets("打印住校").Cells(x * 4.5 - 2, 2) = Sheets("住校").Cells(x, 4).Value
  23. Sheets("打印住校").Cells(x * 4.5 - 1, 2) = Sheets("住校").Cells(x, 5).Value
  24. Sheets("打印住校").Cells(x * 4.5, 2) = Sheets("住校").Cells(x, 6).Value

  25. Sheets("打印住校").Cells(x * 4.5 - 4, 7) = Sheets("住校").Cells(x + 1, 2).Value
  26. Sheets("打印住校").Cells(x * 4.5 - 3, 7) = Sheets("住校").Cells(x + 1, 3).Value
  27. Sheets("打印住校").Cells(x * 4.5 - 2, 7) = Sheets("住校").Cells(x + 1, 4).Value
  28. Sheets("打印住校").Cells(x * 4.5 - 1, 7) = Sheets("住校").Cells(x + 1, 5).Value
  29. Sheets("打印住校").Cells(x * 4.5, 7) = Sheets("住校").Cells(x + 1, 6).Value

  30. fs1 = ThisWorkbook.Path & "\学生照片" & CStr(Sheets("住校").Cells(x, 2)) & ".jpg"
  31.     If Dir(fs1) <> "" Then
  32.     Sheets("打印住校").Select
  33.        Sheets("打印住校").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Select
  34.        ActiveSheet.Pictures.Insert(fs1).Select
  35.        With Selection
  36.             .Top = Sheets("打印住校").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Top + 1
  37.             .Left = Sheets("打印住校").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Left + 1
  38.             .Width = Sheets("打印住校").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Width - 1
  39.             .Height = Sheets("打印住校").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Height - 1
  40.         End With
  41.     End If
  42.     fs2 = ThisWorkbook.Path & "\学生照片" & CStr(Sheets("住校").Cells(x + 1, 2)) & ".jpg"
  43.     If Dir(fs2) <> "" Then
  44.        Sheets("打印住校").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Select
  45.        ActiveSheet.Pictures.Insert(fs2).Select
  46.        With Selection
  47.              .Top = Sheets("打印住校").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Top + 1
  48.             .Left = Sheets("打印住校").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Left + 1
  49.             .Width = Sheets("打印住校").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Width - 1
  50.             .Height = Sheets("打印住校").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Height - 1
  51.         End With
  52.     End If

  53. Next x
  54. Application.ScreenUpdating = True
  55. End Sub

复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-23 17:28 | 显示全部楼层
  1. Sub 生成走读生校牌()
  2. Application.ScreenUpdating = False
  3. Dim x, k, m, f As Integer
  4. Dim fs1$, fs2$
  5. For Each a In Sheets("打印走读").Shapes
  6.     a.Delete
  7. Next

  8. Sheets("打印走读").Rows("11:65535").Delete
  9. Sheets("打印走读").Range("B5:C5,B6:C6,B7:D7,B8:D8,B9:D9,G5:H5,G6:H6,G7:I7,G8:I8,G9:I9").ClearContents
  10. k = Sheets("走读").Cells(Rows.Count, 1).End(xlUp).Row
  11. If Int((k - 1) / 2) = (k - 1) / 2 Then
  12. f = k / 2 - 1
  13. Else
  14. f = Int((k - 1) / 2)
  15. End If
  16. For m = 1 To f
  17. Sheets("打印走读").Rows("1:10").Copy Sheets("打印走读").Cells(Rows.Count, 1).End(xlUp).Offset(2)
  18. Next m
  19. For x = 2 To k Step 2
  20. Sheets("打印走读").Cells(x * 4.5 - 4, 2) = Sheets("走读").Cells(x, 2).Value
  21. Sheets("打印走读").Cells(x * 4.5 - 3, 2) = Sheets("走读").Cells(x, 3).Value
  22. Sheets("打印走读").Cells(x * 4.5 - 2, 2) = Sheets("走读").Cells(x, 4).Value
  23. Sheets("打印走读").Cells(x * 4.5 - 1, 2) = Sheets("走读").Cells(x, 5).Value
  24. Sheets("打印走读").Cells(x * 4.5, 2) = Sheets("走读").Cells(x, 6).Value

  25. Sheets("打印走读").Cells(x * 4.5 - 4, 7) = Sheets("走读").Cells(x + 1, 2).Value
  26. Sheets("打印走读").Cells(x * 4.5 - 3, 7) = Sheets("走读").Cells(x + 1, 3).Value
  27. Sheets("打印走读").Cells(x * 4.5 - 2, 7) = Sheets("走读").Cells(x + 1, 4).Value
  28. Sheets("打印走读").Cells(x * 4.5 - 1, 7) = Sheets("走读").Cells(x + 1, 5).Value
  29. Sheets("打印走读").Cells(x * 4.5, 7) = Sheets("走读").Cells(x + 1, 6).Value

  30. fs1 = ThisWorkbook.Path & "\学生照片" & CStr(Sheets("走读").Cells(x, 2)) & ".jpg"
  31.     If Dir(fs1) <> "" Then
  32.     Sheets("打印走读").Select
  33.        Sheets("打印走读").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Select
  34.        ActiveSheet.Pictures.Insert(fs1).Select
  35.        With Selection
  36.             .Top = Sheets("打印走读").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Top + 1
  37.             .Left = Sheets("打印走读").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Left + 1
  38.             .Width = Sheets("打印走读").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Width - 1
  39.             .Height = Sheets("打印走读").Range("b" & x * 4.5 - 5 & ":c" & x * 4.5 - 5).Height - 1
  40.         End With
  41.     End If
  42.     fs2 = ThisWorkbook.Path & "\学生照片" & CStr(Sheets("走读").Cells(x + 1, 2)) & ".jpg"
  43.     If Dir(fs2) <> "" Then
  44.        Sheets("打印走读").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Select
  45.        ActiveSheet.Pictures.Insert(fs2).Select
  46.        With Selection
  47.              .Top = Sheets("打印走读").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Top + 1
  48.             .Left = Sheets("打印走读").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Left + 1
  49.             .Width = Sheets("打印走读").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Width - 1
  50.             .Height = Sheets("打印走读").Range("g" & x * 4.5 - 5 & ":h" & x * 4.5 - 5).Height - 1
  51.         End With
  52.     End If

  53. Next x
  54. Application.ScreenUpdating = True
  55. End Sub

复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-23 17:29 | 显示全部楼层
打印窗体代码
Private Sub ComboBox1_Change()
Sheets("打印" & ComboBox1).Select
End Sub

Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then MsgBox "请输入要打印的起始页": Exit Sub
If TextBox2.Text = "" Then MsgBox "请输入要打印的终止页": Exit Sub

Sheets("打印" & ComboBox1).PrintOut From:=TextBox1.Text, To:=TextBox2.Text, Copies:=1
End
End Sub

Private Sub CommandButton2_Click()
End
End Sub

Private Sub TextBox1_Change()
If cimbobox1 = "" Then MsgBox "请选择学生类型": Exit Sub
End Sub

Private Sub UserForm_Initialize()
Me.ComboBox1.List = Array("走读", "住校")
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-3-19 08:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
批量插入图片制作出入卡或者胸卡,感谢3190496160分享!

TA的精华主题

TA的得分主题

发表于 2021-3-19 11:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主:用了,很好用,能否写点批注解释,好根据实际情况自己动手修改一下。自己是个小白,很多都不懂。谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-19 11:51 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
四小 发表于 2021-3-19 11:46
楼主:用了,很好用,能否写点批注解释,好根据实际情况自己动手修改一下。自己是个小白,很多都不懂。谢谢 ...

没有人愿意做注释代码这种枯燥乏味的事的,除非是有偿

TA的精华主题

TA的得分主题

发表于 2021-3-21 21:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
3190496160 发表于 2021-3-19 11:51
没有人愿意做注释代码这种枯燥乏味的事的,除非是有偿

qq联系吗?如果加背景图片这样批量加入?

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-22 11:08 来自手机 | 显示全部楼层
四小 发表于 2021-3-21 21:23
qq联系吗?如果加背景图片这样批量加入?

名称就是QQ号

TA的精华主题

TA的得分主题

发表于 2021-3-22 11:17 | 显示全部楼层
谢谢楼主分享,这几天刚好在找这方面的程序!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 04:27 , Processed in 0.048985 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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