2008年11月20日星期四

懒人计划 3 – 自动制作文件的二次进化 PART 07 – 是一样还是不同 2

| |
~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~

~ 声明事项 ~

如各位想把以下本文章转贴 , 请记得要注明出处.

本文章之内容为本人之经验所写, 绝无抄袭成份, 特此声明.

由于图片制作需时, 所以更新会比较慢.

存放图片的 SHARE A PIC SERVER 可能读取速度较慢, 请耐心等待.

Picture



好 ~ 先来看一下我的完整程序代码 :

==========================================

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 留言:

最新回應

Loading...

有事啟奏‧無事閒聊 ~ 哈 ~


米高積遜全復刻 哈利波特 Michael Jackson 妙麗 金曲獎 MJ 迈克尔杰克逊其实没有死!美国CBC电台已证实 哈利波特 hongkong168 蓮花河畔景苑 盧廣仲 鄧麗欣 不想放手New! 陳珊妮 方大同 巨乳排球 痞子英雄 23 東風 蕭閎仁 米高積遜全復刻 上海 倒塌 南王姐妹花 周杰倫 變形金剛2下載 michael jackson 去世 天文台 米高積遜 花拉科茜 天圖佈局 浪卡 耳廓狐 神探俏嬌娃 韶关旭日玩具厂 譚曉風 严妍 僧老少閒 地下天文台 金泰浩 百老匯 巨乳排球 陳振聰 柯柏文 aika 麥可傑克森