~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 声明事项 ~
如各位想把以下本文章转贴 , 请记得要注明出处.
本文章之内容为本人之经验所写, 绝无抄袭成份, 特此声明.
由于图片制作需时, 所以更新会比较慢.
存放图片的 SHARE A PIC SERVER 可能读取速度较慢, 请耐心等待.
没想到你能坚持到这里 ~ 呵呵呵呵 ~ 很期待吧 ~ 期待解决方法吗 ?
哈哈 ~ 好 ~ 开始吧 ~
现在 , 因为这个档是复制出来的 , 而且只是一个测试档 , 就先打开你的 VBA 编辑器 , 把所有的程序代码都删掉 ~ 重新再做过吧 ~
什么 ? 为什么要重新再做过 , 不是修改一下就行了吗 ?
嗯 … 这个是我的个人习惯 , 为了避免一大堆的程序代码影响自己的思考 , 所以每次改动之前我都会复制一个档出来 , 再把复制本的所有程序代码全部删掉 , 就当是之前没做过 , 直接做一个新的就好 .
今次要写的程序 , 主要的目的是把上一次进化版的问题保完 , 把所有之前没考虑过的问题和之前懒得去想的问题全部处理好 .
好了 ~ 不太多废话了 ~ 开始说一下我对于这个问题的理解 .
首先 , 一张发票只包含了一行资料这种可行性其实是很低的 , 最常见的便利店发票都不会只能显示一行货品 , 所以这样的问题一定要解决 , 而为了保证在看总表时能够方便看到 , 我用了一个很原始的方法 , 在报表上加上一个 REF 2# , 代表着一个 REF # 内所包含的不同货品资料 . 同时 , 为了方便确定数据是属于那一个 REF # , REF 2# 的输入方法定义为 ?A ?B ?C 等等 .
( Pic2_1 )
如果有一个这样的转变 , 那么之前所想出来的 VLOOKUP 函数公式全部都得要更改了 , 因为原本的 VLOOKUP 公式的查询条件已经不成立 , 现在要用 REF 2# .
然后 , 就到想一下 VBA 程序要怎样写 , 和程序处理的流程问题 , 先做什么 , 再做什么 .
嗯 … 的确很复杂 … 救命 …
好了 ~ 开始动手写程序 ~
第一个问题 , 跟之前的一样吧 ~ 就是 “ 如何要计算机自行考虑那个记录的数据需要打印 ” , 之前有教过大家我是怎样做到这一点的 , 现在就再做一次 , 不过 , 我们要再想多一件事 “ 怎样才能使电知道这次是第一次使用 ” , 这个问题很解单就解决了 , 程序代码如下 :
==========================================
Worksheets("Summary").Range("I4").Select
If Worksheets("Summary").Range("I4").Value = "" Then FirstUse.FirstTimeUse Else SecondUse.SecondTimeUse
==========================================
( Pic2_2 )
之前的进化版中有说过 , 如果已经打印的 , 就在 SUMMARY 页面中 , “ 已打印 ” 和 “ 打印日期 ” 中加上数据 , 所以 , 如果这个储存格 I4 没有数据 , 就正好代表着这是第一次使用 , 嗯 … 刚刚看过了之前进化版的教学文 , 好像没有提及过如何在计算机打印后 , 自动在 “ 已打印 ” 和 “ 打印日期 ” 中加上数据 … 嗯 … 漏了吧 … 哈哈 ~
不过 , 记得 , 千万不要跟我说你是每次打印完之后 , 都是自己打上去的 , 我会哭的耶 ~ 因为这证明了你没有动动脑筋尝试要计算机做哦 ~
好吧 ~ 今次的改版就一次过把问题都处理好吧 ~
再看一看上面的程序代码 , 如果 SUMMARY 页面的储存格 I4 是空白 , 就执行模块 FirstUse 的 FirstTimeUse , 否则 ( 即 SUMMARY 页面的储存格 I4 不是空白 ) 就执行模块 SecondUse 的 SecondTimeUse .
原先在测试的时候 , 我也没想过有这个安排的 , 不过因为到最后程序代码太长了 , 不好看 , 所以就把程序代码分别放在两个不同的模块位置内 , 一方面是方便处理 , 另一方面是容易看 .
嗯 … 今次的文章又有点太长了 , 下一编继续吧 ~ 哈哈 ~ 顺道骗一个页面显示量 ~ 哈哈 ~
0 留言:
發佈留言