Excel VBA业余爱好者心得及总结
我不是IT专业人士,而是一位医务工作者,当初学习Excel VBA时,是因为读研究生时的课题需要:实验仪器每天产生4个Word文件,每个文件有9个表格,总计近百个数据。为了对这些数据进行统计分析,则需要将它们导入到一个Excel文件。当时老板让我坚持每天手工操作。我相当地厌倦这种枯燥的没有任何成就感的工作。
学习Excel、Word时,知道有个宏功能,可以实现办公自动化,仔细看了微软的介绍后,知道了“宏的另一种状态”,Visual Basic for Application,其简称也就是大名鼎鼎的VBA了,并且知道通过VBA可以在Office相应的组件间(如Excel、Word、PowerPoint)进行调用并读取所需的数据和信息。感叹于VBA的神奇功能,当时就有学习VBA的冲动,因学业的原因,一直没有付诸行动,直到课题需要时,终于决定开始学习VBA。
于是,到书店买了一本VBA教程,看了段时间后感觉不行的,貌似看懂了,但却不会用,对于如何将Word中的数据导入到Excel中更是一点头绪都没有。接着又到书店开始寻找VBA方面的书籍,先后买了两三本吧(当时关于VBA的书籍并不是很多,好在上海在书籍销售方面还是很发达的,二、三线城市估计就没这个优势了),甚至买了本带“准互动式”视频(当时的叫法是多媒体)教学光盘的VBA教程书,看了后仍是丈二和尚的感觉。个人认为,这本带视频光盘的书籍是最会挖坑的,售价也非常高,而里面多媒体教程只是一些视频演示,可以快进或快退,于是就敢称“互动式”视频了!当然,这些“多媒体”最差劲的是演示了半天仍不知其所以然,好像不是在教大家学习VBA,而更象是展示自己的视频制作得如何出色。
如是折腾几次后,都准备放弃学习了,想花钱请人写个VBA程序来解决问题。在放弃前,再一次去了书店,遇到一本面向大专生的VBA教程。当时自己暗暗地想,我已经达到了研究生的水平,如果连大专生的教程都看不懂,真应该去撞豆腐了!于是,买了下来。可喜的是,终于看懂了,并很快就入门了。然后,开始着手编写课题所需要用的VBA程序,并很快完成。看着电脑在那不知疲倦地打开一个个的Word文件,然后把数据导入到Excel中,真的是一种享受!
能简单地使用VBA后,就一直喜欢用它来处理些问题,有时,感觉写VBA代码所耗费的时间要比单纯地手工操作多很多,但因为写好代码后的那种成就感的支撑,自己还是一点点地写了些VBA代码,这些代码主要帮师弟师妹们处理下他们课题中的数据,没有太复杂的操作。
移民加拿大后,发现很多中国人都改行做了会计,每天都和Excel条交道,其中一些人是迫切地想学习VBA。但他们也面临着当初我所面临的问题:看了书后仍旧觉得无所适从,有些人没有看中文的VBA教程,直接到图书馆借的英文版的,看后更是觉得头大。会计在实际工作中面临着大量的重复的枯燥的操作,数百页,甚至是上千页的VBA教程(有个会计下载了本英文版的VBA教程,1200余页),对他们来说就是手持宰牛刀准备杀鸡时,却感觉使不上力!而且因为生活工作繁忙,他们很难如学生那样静下心来花费大量的时间去学习VBA。他们主要是使用录制宏的功能产生一段代码,然后试图网卡检索或翻看相应的书籍来搞明白这段代码的含义。因为没有相应的编程基础和观念,这样做的结果并不是非常地理想。
知道我略懂VBA后,有些人向我请教,也辅导过一些人学习VBA。在这个过程我渐渐地明白了他们所面临的问题,与当初我所面临的一样:看了很多资料后,面对具体问题感觉仍旧是无所适从。而且我辅导过的人年龄都偏大,工作生活等都非常繁忙,没有太多的精力,也没有太多的时间静下心来学习VBA,他们都希望以“短平快”的方式快速地掌握基本的VBA技能,而不是成为这方面的高手。刚开始辅导时,大家坐在电脑前,一边讲一边在电脑上演示,后来,在第一次辅导时,连电脑都不用了,一支笔几张纸,一边讲一边在纸上写写画画地就可以的。因为他们迫切需要知道的不是如何写VBA代码,而是需要了解VBA的编程思路。经过2到3次辅导(大约5-6小时),他们就基本掌握了VBA的编程方法和思路,余下的,就是在实际工作中的自学和实践了。
近来笔者有些空闲时间,于是,决定把当初自己学习和辅导他人学习VBA的一些感受和经验写下来,以帮助有这方面需求的非IT专业人士。本总结所面对的读者是能熟练地操作Excel的人,而不是Excel的初学者。
Excel VBA业余爱好者心得及总结的更多相关文章
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
- C#调用Excel VBA宏
近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...
- 2017-5-29 Excel VBA 小游戏
---恢复内容开始--- 转一个Excel VBA的小游戏,最近对excel有了更深入的了解,功能很强大,也刷新了我对待事情的态度. 一.准备界面 我们先来把游戏界面准备好,选中前4行,行高调成50, ...
- 使用Excel VBA编程将网点的百度坐标转换后标注到高德地图上
公司网点表存储的坐标是百度坐标,现需要将网点位置标注到高德地图上,研究了一下高德地图的云图数据模版 http://lbs.amap.com/yuntu/reference/cloudstorage和坐 ...
- Excel VBA附合导线平差自动计算表
这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...
- Excel VBA 连接各种数据库(二) VBA连接Oracle数据库
本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...
- Excel vba:批量生成超链接,添加边框,移动sheet等
Excel vba 操作 批量生成sheet目录并添加超链接 Sub Add_Sheets_Link() 'Worksheets(5)为清单目录页 '在sheet页上生成sheet页名字并超链接 To ...
- Excel VBA(宏):添加宏
写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...
- EXcel vba 获取批注信息
Public Function pizhu(i As Range) pizhu = i.Cells.Comment.Text End Function EXcel VBA获取批注信息
随机推荐
- vue知识点小结
vue.js中==和===的区别 1.== 用于比较.判断两者相等,比较时可自动换数据类型 2.=== 用于(严格)比较.判断两者(严格)相等,不会进行自动转换,要求进行比较的操作数必须类型一致,不一 ...
- 使用vue导出excel文件
今天再开发中遇到一件事情,就是怎样用已有数据导出excel文件,网上有许多方法,有说用数据流的方式,https://www.cnblogs.com/yeqrblog/p/9758981.html,但是 ...
- ES6 入门系列 (三) 尾递归
递归我们不陌生, 那什么是尾递归呢? 为什么要用尾递归呢? 尾递归怎么用呢? 带着这三个问题我们来了解它, 我们知道递归非常耗费内存,一不小心就会发生‘栈溢出’, 相信你一定遇到过这个错误: stac ...
- Gin-Go学习笔记七:Gin-Web框架 布局页面
模板使用 页面布局 1> 一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2> ...
- 攻防世界 高手进阶区 web cat
php cURL CURLOPT_SAFE_UPLOAD django DEBUG mode Django使用的是gbk编码,超过%F7的编码不在gbk中有意义 当 CURLOPT_SAFE_UPLO ...
- 记录一个h5页面生成canvas画布做签名的js插件--signature_pad
demo地址:https://jsfiddle.net/02dLn15g/5/ GitHub地址:https://github.com/szimek/signature_pad 配置项: dotSiz ...
- flask项目结构
project/ app/ # 整个程序的包目录 static/ # 静态资源文件 js/ # JS脚本 css/ # 样式表 img/ # 图片 favicon.ico # 网站图标 templat ...
- (原+修改)ubuntu上离线安装pytorch
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/12000809.html 参考网址: https://blog.csdn.net/qq_4193655 ...
- centos7利用acme.sh获取Let's Encrypt的永久免费ssl证书并配置网站域名https访问
acme.sh介绍:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E github:https://github.com/Neil ...
- java lambda表达式检查list集合是否存在某个值
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class ...