[问题] 合并打印应用

楼主: jnlll (连头发都没了!!!!)   2016-09-24 04:22:42
软件: Word Excel
版本: 2007
Q1:
想利用合并打印做商业发票,请益可否用VBA或是其他内建功能方式做下述逻辑
Source
Invoice Number / Q / Item / Unit Cost / Amount
X0001 5 Sony TV 50" 1,000 5,000
X0002 3 Sony TV 60" 2,000 6,000
X0002 2 Sony TV 50" 1,000 2,000
表单呈现
当合并打印结果选到对应invoice有两条lines,表单会自动跑出两行
若是只有发票仅有一行,表单内除第一行外,其他为空值
Q2:
想请问合并打印默认功能中,是否仅为资料读取。
可以做到手动输入word表单存盘,excel的source会自动更新储存吗?
感谢
作者: neo5277 (I am an agent of chaos)   2016-09-24 21:37:00
2是可以
作者: waiter337 (给开司一罐苏格登)   2016-09-28 15:07:00
1靠着excel 或者vba 两者皆可以自行处理但我会建议尽量别用数据库的sheet来做打印而是另外开一个sheet的页面,使用vlookup或者3-4种搜寻函数来做成一个新的打印页面,用到word上反而会更复杂唷还有像是large/small index offset matchlookup 这些函数,上网,或者在ptt找些排序文章,整合一下基本上就能构出你想要的效果,也不用一直自动筛选完全不用用到vba 当然vba流派会用的话,也并不是很难,但前提是你对语法很习惯这样因为新的打印页面,你的打印规格都是固定的,所以以后可能只要打上单号,自动就会跳出你想印的格式,其余都不用更改其余资料都会依照你打的单号自动跑出来困难的部份是如何做出能够分辨的排序就像是你有两笔x0002 就要多设制一个更多码的排序来辨认,这样搜寻出来的就会是两笔完全不同的资料了呈现了这个排序并不用一开始就多打出来,当然一开始分成好几个部份是不会卡在一起,但你目前的情况,例用新增的排序也能做出新的排序效果,就能想印哪条就哪条
作者: soyoso (我是耀宗)   2016-09-28 16:11:00
请问这和排序什么关系呢?应是不重复唯一值和关联
作者: waiter337 (给开司一罐苏格登)   2016-09-28 16:54:00
因为我觉得某些语法实在太高阶了,像我菜一点的初心者如果用排序分的一清二楚后会比较简单一点,像上次S大有处理过一题是要找出相同排名第4的,那s大大靠着神奇的公式就解决那题,但这招我觉得对于像刚接触公式的人比较不拿手所以先从基础排序来练功这样#1Ntv1F_P (Office) [ptt.cc] [算表] 自动排序问题像这题这样
作者: soyoso (我是耀宗)   2016-09-28 17:31:00
抱歉还是不太了解,如回文写到的x0002要多设一个更多码的排序来辨认,这样搜寻出来的就会是两笔完全不同的资料了和原文写到要跑出两行(归类到x0002)上,似乎又无法理解排序要如何应用了
作者: waiter337 (给开司一罐苏格登)   2016-09-28 17:34:00
回s大,再利用你最常用的row定位跟offset找出那行的位置这样就像上面那篇文章的意思0,0 #1Ntv1F_P (Office)顺便回报一下,小弟的公司报表当初在学习时,也是尝试这类的方式做排序出来不过看到s大很神奇,可让小弟学习神奇的方式,非常感谢
作者: soyoso (我是耀宗)   2016-09-28 17:39:00
不以唯一值关联(可排序或无排序),而只用所提到的排序,如何全部打单出来呢?
作者: waiter337 (给开司一罐苏格登)   2016-09-28 17:42:00
因为我怀疑原po的x0002 是由两份不同的工作表出来的排序,如果是不同的工作表,那排序未来或许可以增加成为 sheet1变成100010002 sheet2变成200010002当然可能要把x0002,改为全部都是数字,譬如x=011,y=012或用英文数字来做修改 x=24 y=25 z=26如果S大有更棒的方式请教教小弟 3Q
作者: soyoso (我是耀宗)   2016-09-28 17:48:00
抱歉能力不足无法理解回文和我问题间的关系并无更棒方式,对excel功能上的理解,只能说我还初学而已
作者: waiter337 (给开司一罐苏格登)   2016-09-28 18:17:00
小弟在程式上还不足以分辨是非对错,请包涵
作者: soyoso (我是耀宗)   2016-09-28 19:25:00
https://youtu.be/uw4_iU20ZCo 这是union二个工作表表单内invoice,再以这个唯一值关连,将归类输出http://imgur.com/J02u1fT 排序加上循环内countif但w大只写到排序就可达到原文写到invoice有两条表单跑两行有一行,表单内除第一行外,其他为空值,这方面还请w大提供看看
作者: waiter337 (给开司一罐苏格登)   2016-09-28 20:35:00
我期望的排序是输出档案,要输入筛选则要在设计一些选项或者也会交互使用,但这是比较麻烦但浅白的做法譬如设计日期输入格子,单号输入格子,来对两个工作表筛选出适合的序号,在利用这些序号回传到设定好的打印页面上而这些序号则会利用资料的序号位置row值把其他资料一并带过来到打印页面
作者: soyoso (我是耀宗)   2016-09-28 21:21:00
上面写的是合并打印完成与合并内的全部

Links booklink

Contact Us: admin [ a t ] ucptt.com