ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 关于用offset函数设置动态打印区域的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-19 08:57 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
最近接到一个工作上的需求,要求在接待客户的时候简单录入几项个人信息以后,立即打印出多张表格,方便客户带着这一整套资料去后续几个不同的业务部门接洽服务。



为了简化前台小姐姐的工作,我只设计了一张sheet,这样在录入信息、选择需要的服务项目后,可以直接打印,不用再点选不同的工作表。

我在最左上角安排了录入信息的区域
image.jpg


接下来从第10行开始再往下都是打印区域。




现在的问题就是:可选的服务项目有好几个,但并非每个客户都会选择从一~六的所有项目,而我设计的打印页面是从一至六连续的

换言之:如果选择了项目一、三、五,那么打印区域将是中断的

由于每个offset函数的引用范围是一个连续的区域,所以要设置6个区域,那么打印区域的名称应该这样写:

Print_Area: = offset(1),offset(2),offset(3),offset(4),offset(5),offset(6)

一共六个offset函数,中间用英文逗号隔开,例如某位客户要求第2、5、6个项目,那就将第1、3、4个offset函数的高度宽度均设置成1即可。

以上是介绍我的思路,最后提出问题:


即便客户不需要某个服务项目,由于offset函数的区域最小是1个单元格,也会打印出一张白纸
换言之,无论客户选择几个项目,打印机一定会输出6张纸,选定了的项目是有内容的纸,未选择的是出白纸(利用offset函数定位打印区域到1个空白的单元格)
这也是我目前能想到的最佳解决办法了,只能麻烦前台小姐姐从输出的六张纸里面手工挑出白纸再塞回去。


曾试图将offset函数最小范围设置成“无”,然而失败(设置成“无”会导致函数报错,进而PrintArea名称失效,打印区域将变为默认的全页)


希望高手能关注一下,支援一些思路,谢谢!



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-26 02:59 , Processed in 0.023154 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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