VBA批量选择数据有效性下拉列表中的项目并打印
导读:有时我们会在Excel中利用数据有效性制作一个下拉列表,通过选择下拉列表中的不同项目来的得到不同的表格内容,类似Word中的邮件合并。如下例为某公司员工信息表,该工作簿包含两个工作表,一个工作表为员工资料,其中包含所有人员的基本资料,另一个工作表为打印员工信息表,用VLOOKUP函数提取员工资料工作表的内容,将某个员工的资料及电子照片集中到一页来打印,如
有时我们会在Excel中利用数据有效性制作一个下拉列表,通过选择下拉列表中的不同项目来的得到不同的表格内容,类似Word中的邮件合并。如下例为某公司员工信息表,该工作簿包含两个工作表,一个工作表为“员工资料”,其中包含所有人员的基本资料,另一个工作表为“打印员工信息表”,用VLOOKUP函数提取“员工资料”工作表的内容,将某个员工的资料及电子照片集中到一页来打印,如下图。该工作表的B3单元格用“数据有效性(或数据验证)→设置→序列”设置了数据有效性下拉列表,通过该下拉列表来选择不同的员工。
在当工作表中的员工数量较多时,手动逐一选择姓名并打印显得很繁琐。遇到这种情况,不妨利用下面的宏代码将员工信息表一次全部打印出来,十分方便。方法是:
按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中粘贴下列代码:
Sub 批量提取数据有效性下拉列表项目并打印()
Dim rCell As Range
Dim Arr, m
On Error Resume Next
Set rCell = Worksheets("打印员工信息表").Range("B3")
'将单元格中的数据有效性序列提取到数组
With rCell.Validation
If .Type = 3 Then
If Range(.Formula1) Is Nothing Then
'当数据有效性序列的来源不是单元格区域时
Arr = Split(.Formula1, ",")
Else
Arr = Range(.Formula1).Value
End If
'批量打印
If IsArray(Arr) Then
For Each m In Arr
If m "" Then
rCell.Value = m
Worksheets("打印员工信息表").PrintOut
End If
Next
Else
rCell.Value = Arr
Worksheets("打印员工信息表").PrintOut
End If
End If
End With
End Sub
运行后即可将每个员工的资料页依次打印出来。
说明:
1.上述代码会检测B3单元格中数据有效性“序列”的列表源,将其中的每个项目依次赋值给B3单元格并打印工作表。
2.“Worksheets("打印员工信息表")”中指定的工作表名称和“Range("B3")”中指定的单元格需根据实际进行修改。
- 上一篇: 住宿业小规模纳税人专票新政
- 下一篇: 怎样将Word表格中的数字按小数点对齐?

- ukey开具的电子发票没有电子签章怎么办 2025-12-21
- 行政单位的罚没收入应计入什么科目 2025-12-26
- 军人可以退税吗 2025-12-21
- 个体工商户账户是个人账户吗 2025-12-21
- 现金比率过高说明什么问题 2025-12-20
- 公司购买固定资产未付款会计分录 2025-12-20
- 固定资产消耗包括哪些 2025-12-22
- 结算成本处理是什么意思 2025-12-21
- 电力安装公司的会计分录 2025-12-18
- 未分配利润转增资本的规定 2025-12-19
- 甲公司进行资产清查时发现短缺一台笔记本电脑,原价为4500元,已计提累计折旧2000元,购入时增值税税额为720元。经查明属于管理人员的责任,管理人员需赔偿1000元。假定不考虑其他因素,则该事项影响甲公司当期损益的金额为( )元。 A800 B1500 C1900 D2265 购买时的税款已经给出是720,为什么还要重新计算 2026-01-03
- 老师,会计交接相关事项都有哪些?有模板吗? 2025-12-19
- 老师,资金周转率=主营业务收入÷[](期初占用资金+期末占用资金)÷2],这里面的期初期末占用资金哪里取数 2025-12-25
- 发票作废后,还能查到这张发票吗?会有提示说作废了吗 2026-01-04
- 我公司购买冰箱,残值和使用年限是多少?如何计算折旧? 2025-12-20
- 客户扣贴息费计入什么科目 2026-01-10
- 水费,电费开发票中的货物或应税劳务服务的名称是啥呢 2026-01-10
- 老师,我司销售大宗贸易商品,税负率万分之三算低么? 2025-12-22
- 老师,我们公司是新办企业,注册资本100万,有三个股东,股东在打投资款的时候超出了100万,有120万备注为投资款,那多出的20万是要记入资本公积吗? 2025-12-24
- 您好老师,请问在按照政策享受最新减免的增值税,有个其他收益,这个科目是一级科目吗。是损益类吗?可以设置在营业外收入--其他收益 吗 2025-12-31