~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~
~ 声明事项 ~
如各位想把以下本文章转贴 , 请记得要注明出处.
本文章之内容为本人之经验所写, 绝无抄袭成份, 特此声明.
由于图片制作需时, 所以更新会比较慢.
存放图片的 SHARE A PIC SERVER 可能读取速度较慢, 请耐心等待.
好 ~ 先来看一下我的完整程序代码 :
==========================================
Sub SecondTimeUse()
'选择 SUMMARY 页面的储存格 B3 , 利用 ActiveCell.End(xlDown).Select 向下寻找最后一个记录
'利用变量 LASTREC 记录目标位置
Worksheets("Summary").Select
Worksheets("Summary").Range("B3").Select
ActiveCell.End(xlDown).Select
LastRec = ActiveCell.Row
'重复变量 COUNTER 的值为 0
Counter = 0
'重复工作设定
Do
'选择 SUMMARY 页面的储存格 I3 , 利用 ActiveCell.End(xlDown).Select 向下寻找最后一个记录
'利用变量 LASTREC2 记录目标位置
Worksheets("Summary").Range("I3").Select
ActiveCell.End(xlDown).Select
LastRec2 = ActiveCell.Row
'选择 SUMMARY 页面 A 的对应位置
Worksheets("Summary").Range("A" & LastRec2 + 1).Select
'设定 TEMPREC 的变量为 " 现在被选择的储存格所记录的值
TempRec = ActiveCell.Value
'选择 INVOICE 页面 , 清空储存格 A2 及 G6 到 G15 的值 ,
'变更 INVOICE 页面储存格 A2 的值为变量 TEMPREC 的值
Worksheets("Invoice").Select
Worksheets("Invoice").Range("A2").Value = ""
Worksheets("Invoice").Range("G6:G15").Value = ""
Worksheets("Invoice").Range("A2").Value = TempRec
'打印 1 次
ActiveSheet.PrintOut from:=1, To:=1, copies:=1
'利用变量 CHECKAREA 设定重复工作次数由 6 到 15
'储存格位置利用 CHECKAREA 变量的值自动变更
For CheckArea = 6 To 15
If Worksheets("Invoice").Range("C" & CheckArea).Value <> "" And Worksheets("Invoice").Range("D" & CheckArea).Value <> "" And Worksheets("Invoice").Range("E" & CheckArea).Value <> "" And Worksheets("Invoice").Range("F" & CheckArea).Value <> "" Then Worksheets("Invoice").Range("G" & CheckArea).Value = "Y"
Next CheckArea
'选择 INVOICE 页面的储存格 G16 , 利用 ActiveCell.End(xlUp).Select 向上寻找最后一个记录
Worksheets("Invoice").Range("G16").Select
ActiveCell.End(xlUp).Select
LastShowing = ActiveCell.Row
'利用变量 REF2TTL 计算 每一个 REF # 中所包含的 REF 2# 的数量
Ref2TTL = LastShowing - 5
'选择 SUMMARY 页面
Worksheets("Summary").Select
'设定变量 COUNTER 的值为变量 LastRec2 + 1
Counter = LastRec2 + 1
'利用变量 LOOPCOUNT 设定重复工作次数由 1 到 变量 REF2TTL 的值
For LoopCount = 1 To Ref2TTL
'变更 SUMMARY 页面 I 及 J 适当储存格的值
Worksheets("Summary").Range("I" & Counter).Value = "Y"
Worksheets("Summary").Range("J" & Counter).Formula = "=today()"
Worksheets("Summary").Range("J" & Counter).Value = Worksheets("Summary").Range("J" & Counter).Value
'变量 COUNTER 的值更改为 COUNTER 的值加 1
Counter = Counter + 1
Next LoopCount
'如果变量 COUNTER 的值与变量 LASTREC 的值加 1 相等便停止运作 , 否则重复 DO 到 LOOP UNTIL 中间的所有步骤
Loop Until Counter = LastRec + 1
End Sub
==========================================
又是这么长吗 … 过份 … 不管了 ~ 我们还有别的东西要设定 , 继续吧 ~ ( 呵呵呵 ~ 感觉真的蛮帅的 ~ 哈哈 ~ )
OKOK ~ 现在的程序代码我测试过是可行的了 ~ 哈哈 ~ 别着急 ~ 程序并不完美哦 ~ 有一个检查我没加上去的 , 久违了的习题来了 ~ 哗哈哈哈哈 ~
如果想这个程序出问题 , 是可以的 , 只要你在所有的记录都处理完成后 , 再让计算机跑多一次程序 , 你的计算机就会变得怪怪的了 ~ 不信可以试试看 ~ 如果你真的再让计算机再跑一次这个程序 , 它就会打印了一张什么都没有的发票给你 ( 我刚刚做过实验了 ~ 骗不了我的 ~ 哈哈 ~ )
好 ~ 习题来了 ~ 现在我要求你 , 把你学到的东西都试试运用看看 , 习题是 :
当程序执行前 , 检查一次到底有没有需要处理的记录存在 , 如果没有的话 , 就弹出一个讯息告诉使用者没有记录要处理 , 别乱按 !
嗯 , 这个题目很简单吧 ~ 程序代码要放在那里我都已经告诉你了 ~ 哈哈 ~ 对于编写时所用到的东西嘛 ~ 就给你一点提示吧 , 当中包括了 … ACTIVECELL.END(XLDOWN) … 嗯 … 还有 … MSGBOX … 嗯 … 就这两个吧 ~ 还要运用什么 , 就要看你平时有没有自己努力学习啰 ~
答案嘛 ~ 你贴出来我回你 ~ 不贴出来我就当你没做过 ~ 不会给你答案的 ~ 嘿嘿嘿 ( 小声点 … 我也要先做一个 , 否则真的有人回了 , 我没答案怎么办 ~ 哈哈 ~ )
下一回 , 就到修正一下现在的 INVOICE 页面的设定 ~
0 留言:
發佈留言