本文于2023年6月8日首发于本人同名公众号:Excel活学活用,更多文章案例请搜索关注!
☆本期内容概要☆
大家好,我是冷水泡茶,最近每天分享代码,感觉脑壳子疼,今天就随便聊聊,信马由缰,写到哪算哪。
本公众号注册已有好多年了,注册时间大概是2016年5月份,发的第一篇文章是关于英文的,已被我删除了。从2017年起开始写有关EXCEL的文章,主要是公式函数方面的内容,但感觉文章选材很窄,常用函数就是那么几个,综合使用套路自己掌握的也有限,也不想翻来复去地炒冷饭,所以基本也没怎么更新。
今年2月底,下定决心要写的东西,主要原因是自己对VBA产生了兴趣,并且自己能够编写一些代码解决实际工作中的问题。写公众号的目的有几个:
一来,我想把这些案例记录下来,以免时间长了忘记了,有点可惜;
二来,是想通过写文章来整理思路,完善代码;
三来,想通过写文章来锻炼自己,把脑筋动起来,省得将来得老年痴呆,这决不是句玩笑话;
四来,通过分享,给别人以帮助,同时也能有所收益(是不是这后半段最重要?)。
前戏完了,我们直奔主题,下面我就随便说说自己对VBA的看法:
有人看不起VBA,觉得它太轻量级了,没啥意思。我以前对VBA也是有不少偏见的,原因是你没有用它,你不了解它。VBA与其他编辑语言相比,好处不要太多,首先它不需要额外的开发环境,有EXCEL就能写代码。它的语法也不复杂,很容易上手。最重要的是,它不需要经过编译,直接在EXCEL中就能运行。
说起编程,有人觉得特别地难,看到一堆代码就晕菜。其实,再多的代码也是一行一行的写出来的,你了解了代码运行的核心逻辑,那其实也没有那么难。
在我看来,编程解决2个问题:1.输入;2.输出
你仔细一想,是不是所有的程序都是解决输入、输出的问题?
回到EXCEL VBA,它是如何解决这两个问题的?
我们先看输入:
1、点击一个命令按钮,我们“输入”一个点击动作,那么,在VBA中,就是一个CommandButton_Click事件,VBA就会运行这个过程中的代码。
2、在工作表中输入内容,激活Worksheet的Change事件,在这个过程中,我们可以添加一些代码,它就会运行。比如,我们要限制输入的内容必需是数字,我们就可以在Worksheet的Change事件中执行Target单元格值的判断,可以用函数IsNumeric,或者正则表达式。也可以限制单元格字符的长度,比如发票代码只能12位等等。
3、选中单元格,可以激活Worksheet的SelectionChange事件,就象我们前面分享过的日期控件,我们就通过SelectionChange事件来激活日期控件。
4、工作表的Activate事件,表示工作表被激活,Deactivate事件,表示工作表从激活转为非激活状态。
5、工作簿的OPen事件,就是我们一打开EXCEL文件就会触发ThisWorkBook的OPEN事件,通常我们会在这里面放一条启动登录窗体的代码:Usf_Login.show。如果不能正确输入用户名和密码,你可能就打不开这个文件。
6、用户窗体上,我们可以放上文本框、组合框控件,可以输入数据,还有选项按钮,任选一个,也只能选一个,复选框控件,可以多选,列表框等等。
......
我们再看输出:
1、显示窗体,展示出各种各样的数据,列表框、组合框的list,listview的listitems等等,都是数据的输出
2、数据结果写入工作表
3、listview展示的数据,导出为EXCEL文件
......
大多时候,输入输出是不断地交替进行,最后得到我们想要的结果。我也不想穷举了,没有什么意义,我们只要知道,我们想要什么结果,然后能找到实现这种结果的方法。就像盖房子,用石头也行,砖头也行,泥坯也行,这取决于你手头有什么。编程也一样,你会什么方法就用什么方法,先做起来,用起来再说,不必等到“掌握”了所有技巧才动手。
好象听人说过,编程高手不是学出来的,是调试代码调试出来的,也就是说,我们要想提高VBA编程水平,不要总停留在学的阶段,收集了巨多的教程,却从来没有看完一本,还在不断地下载,总想着哪天会用到。
要想学好,或者说是用好VBA,最好是从实际工作出发,解决实际工作中的问题,这样可谓是一举两得,你为自己或者同事甚至公司提高了工作效率,同时自己还逐渐提高VBA编程技巧。
以我自己的工作举例:
1、我看到收款员手工开具收据,再登记收费明细表,我就想能不能在收款时直接输入收款信息,同时打印出收款单据?于是就有了我们的中医诊所收费系统。
2、我看到有人用EXCEL手工登记鸡蛋的增减与结存,我就想应该能做一个收发存工具,于是就有了我们的最简单的收发存登记系统。
3、我看到越来越多的电子发票,如何能够按有关部门和企业的管理要求收集与保管电子发票?于是我就做了一个“电子发票管理系统”,这个没有公开分享,但我把其中的一块功能分离出来,做了一个电子发票管理助手。当然,这个功能参考了一个公众号分享电子发票台账T006(V1.1.3)。
4、作为一个财务人员,我们撇开少数精英不谈,很多人都要做账,如果公司有财务软件,那还好说,如果没有,老板又不肯花钱去买,那怎么办呢?我们只好自己想办法喽,“手工记账”?那是万万不能的。我们有EXCEL啊,从直接在EXCEL里输入凭证记录,到如今采用EXCEL ACCESS设计的“像模像样”的“财务管理系统”,使用体验那真不是吹的,就一个字“爽”!当然如果不用做账那是更爽!
5、还有一些其他的小工具,我们就不说了,散落在各期分享文章中。
就这样一步一步,经过一年多的时间,慢慢地提高了自己的VBA能力,目前还在不断地探索之中......
好,十块钱唠完了,我们下期再见了。
☆猜你喜欢☆
Excel VBA 电子发票管理助手 | Excel VBA 凭证打印 |
Excel VBA 中医诊所收费系统 | Excel VBA 动态添加控件 |
Excel VBA 酷炫的日期控件 | Excel 固定资产折旧计提表 |
Excel VBA 数组字段定位排序 | Excel 处理重复值 |
Excel VBA 最简单的收发存登记系统 | Excel 公式函数/查找函数之LOOKUP |
Excel VBA 文件批量改名 | Excel 公式函数/动态下拉列表 |
Excel VBA 输入逐步提示 | Excel 基础功能【数据验证】 |
本文于2023年6月8日首发于本人同名公众号:Excel活学活用,更多文章案例请搜索关注!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved