顯示包含「03. 懒人计划 1 自动制作文件 ( 简体 )」標籤的文章。顯示所有文章
顯示包含「03. 懒人计划 1 自动制作文件 ( 简体 )」標籤的文章。顯示所有文章

2008年8月9日星期六

懒人计划 1 - 自动制作文件 PART 05 - 极速完成程序 , 开始懒吧 ~ 呵呵 ~ ( 简体 )

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

~ 声明事项 ~

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

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

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

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

Picture



嗯 , 之前说过这一回要废话小一点的 , 好 , 来吧 , 先在 INVOICE 页面加一个按钮 ( 怎样加 !? 自己想一想哦 ~ 之前有教过的 ~ 呵呵 ~ )


( Pic5_1 )

然后 , 加入下面的程序代码 ~

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

Private Sub CommandButton1_Click()

Worksheets("Invoice").Activate
Worksheets("Invoice").Range("A2").Value = ""

a = Worksheets("Invoice").Range("A6").Value
b = Worksheets("Invoice").Range("A10").Value

Worksheets("Invoice").Range("A2").Value = Worksheets("Invoice").Range("A6").Value

c = b - a

For aa = 1 To c
ActiveSheet.PrintOut from:=1, To:=1, copies:=1
Worksheets("Invoice").Range("A2").Value = Worksheets("Invoice").Range("A2").Value + 1
Next aa

ActiveSheet.PrintOut from:=1, To:=1, copies:=1

End Sub

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

Worksheets("Invoice").Activate 是买一个保险 , 确保现在使用中的是 Invoice 页面 .

然后 , 把储存格 A2 的数据清除 ( 当然 , 第一次用的时候是没有数据的 , 但是当这个档案是第二次使用的时候 , 这里就会有数据了 , 所以要清理一下 )

设定变量 A 为储存格 A6 的值 , 变量 B 为储存格 A10 的值 , 再把储存格 A2 的值改成 A6 的值 .

设定变量 C 的值为 变量 B 减 变量 A ( 这个是重复次数 , 因为每次的重复次数都不同 , 所以叫计算机自己找出来就好了 ~ )

ActiveSheet.PrintOut from:=1, To:=1, copies:=1 这一句是打印的控制 , FOR AA 和 NEXT AA 中间 , 第一个步骤就是打印一份 , 理由很简单 , 因为在开始重复之前 , 我们已经把储存格 A2 的值改了一次 , 所以 , 当 AA 是 1 的时候 , 在开始改善储存格 A2 的值之前 , 第一件事就要把文件打印一份出来 , 否则我们就会欠了一张 )

Worksheets("Invoice").Range("A2").Value + 1 这句就是要储存格 A2 的值再加 1 , 打个比喻 , 在储存格 A6 输入 10 , A10 输入 20 , 那么在程序执行的时候 , 第一件事就是把储存格 A2 的值换成储存格 A6 的值 , 也就是说现在储存格 A2 的值是 10 , 打印一份之后 , 就打储存格 A2 的值加 1 , 现在储存格 A2 的值是 11 , 再打印一次 , 之前有说过 , 变量 C 是以 变量 B 减去 变量 A 所得出来 , 现在 变量 C 的值就是 20 - 10 = 10 .

FOR AA 到 NEXT AA 中间的程序代码一共执行 10 次 , 看一下资料

变量 AA = 1 , NEXT AA 之前 , 储存格 A2 的值是 10 + 1 , NEXT AA , 现在储存格 A2 的值是 11
变量 AA = 2 , NEXT AA 之前 , 储存格 A2 的值是 11 + 1 , NEXT AA , 现在储存格 A2 的值是 12
变量 AA = 3 , NEXT AA 之前 , 储存格 A2 的值是 12 + 1 , NEXT AA , 现在储存格 A2 的值是 13
变量 AA = 4 , NEXT AA 之前 , 储存格 A2 的值是 13 + 1 , NEXT AA , 现在储存格 A2 的值是 14
变量 AA = 5 , NEXT AA 之前 , 储存格 A2 的值是 14 + 1 , NEXT AA , 现在储存格 A2 的值是 15
变量 AA = 6 , NEXT AA 之前 , 储存格 A2 的值是 15 + 1 , NEXT AA , 现在储存格 A2 的值是 16
变量 AA = 7 , NEXT AA 之前 , 储存格 A2 的值是 16 + 1 , NEXT AA , 现在储存格 A2 的值是 17
变量 AA = 8 , NEXT AA 之前 , 储存格 A2 的值是 17 + 1 , NEXT AA , 现在储存格 A2 的值是 18
变量 AA = 9 , NEXT AA 之前 , 储存格 A2 的值是 18 + 1 , NEXT AA , 现在储存格 A2 的值是 19
变量 AA = 10 , NEXT AA 之前 , 储存格 A2 的值是 19 + 1 , NEXT AA , 现在储存格 A2 的值是 20

问题出现了 , 当 AA = 10 , 储存格 A2 的值是 20 的时候 , 这份不用在 FOR AA 到 NEXT AA 中打印出来 , 所以为了要保证这份都会打印 , 所以程序代码的最后部份 , 又加多了一句 ActiveSheet.PrintOut from:=1, To:=1, copies:=1 , 让计算机都打印出来才完结程序 .

程序结束了 ~ 呵呵呵 ~ 松了一口气 ~ 只要在 SUMMARY 打好了用作记录的数据 , 就可以一次过打印我要的文件 ~ 哈 ~ 可以小睡一会 ~ 哈哈 ~

好 , 现在要提醒你一些使用这个设计会遇到的问题 :

第一 , 函数的设定不可以错 , 如果错了的话 ~ 嘿嘿嘿 ~ 打印出来的资料就错定了 ~ 我指的是 VLOOKUP 的从那里找到那里 ( $A$2:$S$65536 ) 和在这个范围来 , 找那一行 ( ,1,0 ) 的设定 , 千万不可以错哦 ~

第二 , 记得在测试打印之前 , 一定要把打印范围设定好 !! 否则打印出来的会包括了那些不需要的东西 .

第三 , 如果只需打印一个记录编号 ( REF# ) 的发票 ( INVOICE ) , 只需要把记录编号打在储存格 A2 之中 , 打个比喻 , 如果要打印的是记录编号 7 , 只需要在储存格 A2 打上 7 , 不要在 A6 和 A10 都打上 7 .

第四 , 这个程序已经有进化版 , 但是那个要迟一点再贴 , 很多东西都未准备好 XD

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

好了 ~ 这次的分享又是时候要结束了 , 也是时候要去准备一下 , 下一次要分享的是什么东西 , 到底是这个程序的进化版本 , 还是我的其它跟乱来没分别的习作呢 ~ 让我先想一想吧 ~ 哈哈 ~ 记得要想我哦 ~ XD

官爷 ~~~ 记得留言哦 ~~~~ 写句 " 到此一游 " 也可以吧 ~ 哈哈 ~

2008年8月8日星期五

懒人计划 1 - 自动制作文件 PART 04 - 改变函数公式 , 雏型出来了 ~ ( 简体 )

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

~ 声明事项 ~

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

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

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

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

Picture



呵呵呵 ~ 很想我吧 ~ 还是挂念我的程序呢 ~ 哈哈 ~ 都不要紧 ~ 最重要的是结果 , 等我还是等程序代码都一样 ~ 哈 ~

好 ~ 来吧 ~ 记得上一次我说过的 VLOOKUP 这个函数吗 ?

VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0)

就是利用 B2 储存格的值在 SUMMARY 页面找东西 , 现在我们要做的就是利用 VBA 程序 , 把 B2 这个储存格的值改变 , 大家都应该有留意到 , A2 , A6 和 A10 的储存格被我加了一点东西 , 分别是 " 单独 " " 开始 " 和 " 完结 " .

这三个格记录的是数字 , 什么数字呢 ? 就是 SUMMARY 页面里面的 REF# ( 记录编号 ) .

先把前一编教学中的函数公式 =IF(ISNA(VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0)),"",VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0)) 中的 B2 改成 A2 , 把寻找条件定义在 A2 储存格的数据 .


( Pic4_1 )

留意一下 Pic4_1 这里有很重要的信息要注意 , 首先 , 上面的 VLOOKUP 函数找的都是 A 到 S 的第一行 , 但是 , 我们要的东西 , 所记录的位置并不是全部都是第一行 , 所以一定要作出适当的修改 .

INVOICE NO. 的记录位置是 SUMMARY 页面的第二行 , INVOICE DATE. 是第三行 , 所以 , INVOICE 页面中的储存格 I2 和 I3 , 请分别加上 :

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,2,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,2,0)) 和

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,3,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,3,0))

之后 , 货品名称 ( C6 ) , 数量 ( D6 ) , 单价 ( E6 ) 和 总价 ( F6 ) 分别是 SUMMARY 页面的 4 到 7 行 , 所以 , VLOOKUP 的函数公式又要作出修改 :

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,4,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,4,0))

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,5,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,5,0))

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,6,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,6,0))

=IF(ISNA(VLOOKUP(A2,Summary!$A$2:$S$65536,7,0)),"",VLOOKUP(A2,Summary!$A$2:$S$65536,7,0))

下面还有一个合计吧 ~ 那个就用 =SUM 函数好了 ~

现在 , 请在 SUMMARY 的页面 , 加一个新的记录上去 .


( Pic4_2 )

在 INVOICE 页面的储存格 A2 加上一个 1 字 .


( Pic4_3 )

看到了吗 ?? 数据都跳出来了 , 我们要的就是这样 , 输入一次数据之后 , 就要计算机帮我找东西出来 , 不过我们没可能每次都要先改变一次 A2 的数值再打印一次吧 ~ 所以我们就利用 VBA 来把这个值改变 , 改变的范围就是由储存格 A6 的值 到储存格 A10 的值 .

下一回 , 我们就不废话 ( 小一点吧 ~ 哈哈 ~ ) , 直接来写程序 , 然后 , 就开始把你每天都在重复中步骤一次过消灭 ~

2008年8月7日星期四

懒人计划 1 - 自动制作文件 PART 03 - VBA 和 函数的配合 ( 简体 )

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

~ 声明事项 ~

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

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

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

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

Picture



各位官爷 ~ 怎么都没给我留个言呢 ~ 不要害羞哦 ~ 就当是交个朋友嘛 ~ 哈哈哈哈 ~

好了 ~ 等一下再发疯 , 现在先来到程序编写的问题上 , 来 ~ 打开上一次叫你准备的 EXCEL 檔吧 ~ 什么 !? 没了 ? 那我不管你了 , 你自己往回看 , 再准备一个吧 ~~~ 呵呵呵呵 ~~~~

大家对函数的认识有多少呢 ? 我就听过了很多 , 不过懂得用的就很少 , 现在给你介绍一个 , 在我们这个程序中的其中一位主角 .

VLOOKUP ~

VLOOLUP 这个函数就是用来找东西的 , 不过如果你不懂得使用 , 你就少了很多乐趣了 ~

先介绍一下怎样用 , 基本上 , 这个 VLOOKUP 函数使用例子就是 VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0) .

B2 就是我们要的来源数据的位置 , 用 B2 储存格内的数据作为搜寻的条件 , 搜寻的范围是 SUMMARY 页面 ( SUMMARY! ) 中的 A1 到 S65536 ( $A$2:$S$65536 ) 中的第一个 COLUME (,1 )

小声一点 , 最后的一个 0 是什么意思 , 我自己都忘记了 ~ 哈哈 ~ 小声点 ~ 小声点 ~

当然 , 虽然这个东西现在只是教学用途 , 不过我们这个 INVOICE 也需要有美感的 , 对吧 ~ 所以 , 我们就把 IF 和 ISNA 这两个函数一起加进去 ~ 变成 ~

=IF(ISNA(VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0)),"",VLOOKUP(B2,SUMMARY!$A$2:$S$65536,1,0))

这函数这么长 , 但是只要你细心一点 , 就会发现 , VLOOKUP 的部份是没有改变的 , 只是中间多了两个双引号 , 这是代表空白的意思 , 正常情况下 , 当 VLOOKUP 找不到要找的东西的时候 , 它就会显示 N/A , 所以用了 ISNA 和 两个双引号来避免它的 N/A 出现 , 当找不到我想要的东西的时候 , 就给我显示空白就好 , 我不要看到 N/A ~


( Pic3_1 )


( Pic3_2 )

明白分别在那里了吧 ~ 哈哈 ~

好 , 现在我们又要在 INVOICE 的页面增加东西了 ~ 有记得我之前跟你说过 , COLUME A 不要用吗 ? 现在我们就要把 COLUME A 拿来用了 ~


( Pic3_3 )

用了 ?? 我不是说过不要拿来用的吗 ?? 快 ~ 快给我插一行进去 ..... 别再给我添乱 ~

嗯 ~ 时间也很晚了 ~ 下一回才正式写程序吧 ~ 哈哈 ~ 让我休息一下哦 ~ 打字太久满累人的 ~ 哈哈哈哈 ~

2008年8月5日星期二

懒人计划 1 - 自动制作文件 PART 02 - 我们要准备的和理解的 ( 简体 )

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

~ 声明事项 ~

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

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

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

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

Picture



如果说 , 你要把重复又重复的工作 , 利用 EXCEL - VBA 来帮你处理 , 首先 , 你一定要知道 , EXCEL - VBA 并没有你想象中的聪明 , 或者是像电影中的情节一样 , 有人工智能 (AI) . 另一方面 , 计算机的程序语言就是你叫它做什么 , 它就做什么 , 完全不会理会你的选择是对是错 , 错了的话就给你一个 ERROR , 完全是送的 , 不用钱 . 但是 , 当我们要制作一个程序的时候 , 我们先要考虑的 , 就是当使用者作出了怎样的操作便是错 . 我们要给计算机强调 , 如果使用者出现了这样的操作行为 , 没有根据我给他的指示来做 , 便帮我送他一个讯息 , 告诉他 , 你的操作有问题 .

明白了这一点 , 我们又可以再向前推进了 , 现在 , 我们要准备一下自动制作文件所需要的东东 .

好 , 现在先假设 , 我们要 EXCEL - VBA 帮我们做的 , 是自动制作发票 ( INVOICE ) , 那么 , 发票又会包含什么东西呢 ?

简单地说明一下 , 发票 ( INVOICE ) 一定会有的当然是发票号码 ( INVOICE NO. ) , 发票日期 ( INVOICE DATE ) , 货品名称 , 数量 , 价钱 , 当然了 ~ 还会有的一定是自己公司的名称 , 地址等等 .

现在 , 我们一起来细心地分析一下 , 如果我们在制作好一张发票之后 , 我们还要打开另一个 EXCEL 文件来记录这张发票的数据 , 我想问一下 , 这不就是重复操作 ( Double Handling ) 了吗 ?

对 , 重复了 ~~~ 等等 ~ 有一个问题 , 既然都知道是重复的操作 , 那为什么我们还要那么笨呢 ?? 如果原本的操作流程是 ( 先开发票 , 再记录 ) , 那我们又可不可以把这个流程改一下呢 ?? 把流程改成 ( 先记录 , 再开发票 ) , 这样又可行吗 ?? 当然可行了 ~~~~ 不然的话我又怎会跟你说呢 ~ 呵呵 ~

好 , 刚才说过一张发票必须要有的东西是什么 , 正常情况下 , 那些东西除了自己公司名称和地址是不用记录和不变之外 , 其它的都应该要有记录 , 都会不停地改变 , 对吧 ~ 现在 , 我们来一个一个地解开这个谜 ~ 怎样可以简单地把流程换过来 ~ 而且 , 要计算机帮我们把发票都通通给我做出来 ~

现在 , 请各位伸出你们右手的食指 , 指住你的计算机 , 跟它说 , 给我把东西都做好 ~~~

( 哈哈 ~ 开玩笑的 ~ 哈哈 ~ 你不是真的做了吧 ~ 哈哈 ~ 闪 ~~~ )

好了好了 ~ 来 , 打开你的 EXCEL 吧 ~ 开一新档案 , SHEET1 的名称就改成 SUMMARY 吧 , SHEET2 的名称就改成 INVOICE , SHEET3 就放着不管好了 ~


( Pic2_1 )

把刚才说过的东西都加进去 , 就是那些 发票号码 ( INVOICE NO. ) , 发票日期 ( INVOICE DATE ) 什么什么的 , 都把它加进去 , 就当是你真正的在工作好了 ~


( Pic2_2 )

什么 !? 我比你多了一个叫 ref# 的东东 ? o... 拜托 , 那只是记录编号吧 ~ 很普遍的 ~ 另外 , 我得告诉你 , 这个 ref# 是这个程序的关键东西 , 记得也加上去哦 ~

好了 , 再来就是要把 invoice 页面弄得象样一点 ~


( Pic2_3 )

好看吗 ?? 哈哈 ~ 原谅我 , 我没什么设计天份的 ~ 哈哈 ~ 大概是这个样子吧 ~ 着眼点不是这里呢 ~~~ 哈哈哈哈 ~

记得 , 要把 A 的整行留起来 , 等一下要用到的 ~

好 , 要准备的都差不多了 , 下一回就正开始写程序 ~

2008年8月4日星期一

懒人计划 1 - 自动制作文件 PART 01 - 引言 ( 简体 )

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

~ 声明事项 ~

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

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

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

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

Picture



赞美吧 ~ 感动吧 ~ 来吧 ~ 信我吧 ~ 不不不 ~ 是信我了吧 ~~ 哈哈 ~ ( 当你看完这部份的教学的时候 ~ 哈哈哈 ~ )

懒人计划这个东西嘛 ... ... 其实 , 一点也不懒 ( 拿个吸引点的题目作招徕罢了 ~ 哈哈 ) , 为什么 ? 简单喇 ~ 要学的呢 ~ 不学 , 怎么可以懒呢 ~ 对不对 ~ 哈哈 ~ 要懒得聪明是很困难的 , 而且 , 懒 , 是一种艺术 ~ 哈哈 ~

记得哦 ~ 懒是一种艺术也是技术来的呢 ~ 要不然就会像我一样 , 虽然没有被人发现我很多东西都是用 EXCEL - VBA 来做 , 但就发现我很懒呢 ~ 有时候还要被针对了 ~ 哈哈 ~ 不过不要紧 , 最重要的是 , 当你做完这个作品做好之后 , 真的能够让你感受到那份成功感 , 那 , 我在这里努力地打教学文章也就不枉了 ~ XD

这次是懒人计划的第一个 project , 利用 VBA 自动制作并打印多份发票 ( 或者是什么其它类型的文件也好 ) 的程序 . 这个做法的原始版本 , 是我的一位旧同想出来的 ( 就是我之前说过 , 我第一次接触 VBA 所看到的程序了 ) , 不过 , 他的程序有太多臭虫 ( BUG ) , 而且他又没有定期维护 , 而实际操作方式又经常改变 , 所以最后给我改了又改 , 变成了自己的东东 .

转了公司 , 工作中重复性操作的东西比以往更多 , 每天 , 要为每一个客户的每一份单都做一张指定的文件 , 做完了这份文件 , 又要把文件内的数据再打一次作为记录 , 最后 , 同样的文件同样的数据 , 我就一共处理了两次 . 费时失事 , 而且两个记录的错误机会率又高 , 再加上我本身的懒惰性格 , 就正正把我推向懒惰的极端 , 强迫我又想出一个无聊的办法来 , 让我更加懒 . 在家里的计算机中 , 找到了当日我修改了千百次的旧程序 , 看了一看设计内容 , 发现只要作出一点修改就可以用上了 , 哈哈 ~ 真好 , 我又可以更加懒了 .

所以 , 今次这个 project 的主要目的 , 就是教你怎样制造一个 EXCEL 文件 , 把记录和需要制作的文件合拼在一起 , 只要在记录页面做好记录 , 把需要的资料都输入 , 之后就可以利用 VBA 程序 , 来大量制所需的发票了 . 当然啰 ~ 其它类型的文件也可以的 , 只是 , 你要慢慢地把我教你的东西换过来 , 成为你自己的东西 ~ 呵呵 ~ 记住 , 要懒 , 都是要付出的 ~ 哈哈 ~ 准备好就开始了哦 ~

( 嗯 ... 让我想一下 , 要不要收学费 ~~~ 哈哈 ~~~~ )

最新回應

Loading...

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


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