ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 665|回复: 8

[原创] 【VBA系统学习经验】

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-11-13 14:44 | 显示全部楼层 |阅读模式




相信大家都对EXCEL很熟悉,进入这个论坛的,对VBA的知识也了解不少。在最开始工作的时候,出于对股票的兴趣,需要一些数据处理,然后就跳到VBA这里来了。看了一些VBA的书籍,之后转到VB.NET,最后跳到C#。在这里抛砖引玉,简短讨论下如何学习VBA以及如何快速将一门知识学好,分享一些个人的经验和看法。

VBA对于EXCEL简直可以用如虎添翼来形容,绝大部分人了解到VBA也是先了解了EXCEL,所以学习VBA,首先就要对EXCEL的相关知识有些熟悉,尤其是Excel自带函数与公式。我记得很早之前买过一本《Excel函数与公式大全》,好像是叫这个名字,就两三百页,全是内置函数与公式,翻一遍就可以了,大体知道哪些东西系统有处理的就行。

之后就是VBA的入门,这个很关键。常言道师傅领进门,有一个好的师傅,基本就成功了一半。建议处于这个阶段的,多翻几本书,可以是网上的,页可以使自己买的,然后从中选一本最符合自己胃口的。我放了一些书在下方,大部分都是基础入门的,大家可以挑着看看。这里推荐《vba从入门到精通》这一本,我就是从这个入门的。讲的很不错,通俗易懂,循序渐进。总体来说,对于一门语言,基本要求都不太高,上过高中基本都能行。最开始只要了解基本的对象,了解对象的属性,对象的方法就可以了。到这里这个门就算进来了。

之后就是修行靠个人。学习完基本知识,就想去折腾下其它的,比如界面,比如功能,这就需要一些和WINDOWS相关的知识,比如WINDOWS API,比如窗体,比如控件,如果需要写一些比较大的东西,还要牵扯到类。我曾经做了个VBA的程序,主要功能是处理所有股票的当天数据,导入到一个EXCEL里面。这个被导入的Excel里面可以存储所有股票在某一年的数据,差不多就是12个表,每个表3000行附近(2011年附近,那时候就这么多股票),250列,大小在100M附近,这个VBA的程序要运行20多分钟才能完成一天的数据处理,但是偶尔会死机。这个原因无解,最后在国外的一个坛子上找到,【VBA对于内存的使用是有限制的,超过了就会挂掉,或者程序太复杂一样有可能挂】。所以最后转换了方向。当然VBA在很多时候,尤其对于EXCEL的批量处理还是很方便的,所以我个人觉得,简单学习VBA,能处理个人手上的问题,足够了。有兴趣深入也可以,但是想要特别深入,可以考虑另外的语言。VBA在某些方面存在先天的不足,比如接口,比如类,内存操作等。

所以,学习一门语言,其实并不难,基本第一个阶段,三五周就够了。第二个阶段,就看你想要一个什么结果了,搞不好就弄个三五年,而我搞了十年了,现在开发软件了。这个帖子先发了一遍被删了,希望这次不要被删。

VBA书籍汇总

链接:https://caiyun.139.com/m/i?1B5C53eS96qsB
提取码:ayPD





TA的精华主题

TA的得分主题

发表于 2022-11-13 17:47 | 显示全部楼层
说了半天,全是废话,所谓经验就是,买我的书就可以了!

TA的精华主题

TA的得分主题

发表于 2022-11-13 18:03 | 显示全部楼层
好的师傅很重要,免费的师傅最好了,有了利益的交换,就可能不那么纯粹了。

不是专业出身,看书啥的,等自己觉得需要了再说吧,真想看书入门,论坛的书,绝对是一本很好的入门教程。

TA的精华主题

TA的得分主题

发表于 2022-11-13 18:34 | 显示全部楼层
唉,说的容易,做起来难呀!
可能是年龄的原因,我曾经学过VB,后来再学VBA是觉得很快就懂,但是在应用起来,一开始却感到无从下手,后来我系统的学习了VBA,与Accsee,才明白,内存问题必须与数据库连接,这时的VBA才能发挥更大的作用。VBA基础比较好学,但是应用就要反复地在应用中用它,一回生,两回熟吗,可是我前后学了三年,利用业余时间,才终于弄明白,它的应用方法,在学习VBA时,有几处是比较难的,一是数组问题,二是类的问题,三是与数据连接问题,四是自定义功能区,五是字典与正则表达式问题,只要将这些弄明白,其它就会慢慢中学好,总之要在学中用,用中学,不断的总结经验,特别是善于整理代码归类,及示例的应用。不然你靠别人帮你学,那可能还不如到网站自学的好,

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-11-13 19:36 | 显示全部楼层
乐轻入梦 发表于 2022-11-13 18:34
唉,说的容易,做起来难呀!
可能是年龄的原因,我曾经学过VB,后来再学VBA是觉得很快就懂,但是在应用起来 ...

"内存问题必须与数据库连"
您好,可否稍微展开讲讲。。。这个内存是怎么回事

TA的精华主题

TA的得分主题

发表于 2022-11-13 19:39 | 显示全部楼层
本帖最后由 morpheus126 于 2022-11-13 19:44 编辑
micch 发表于 2022-11-13 18:03
好的师傅很重要,免费的师傅最好了,有了利益的交换,就可能不那么纯粹了。

不是专业出身,看书啥的,等 ...

不免费+有道德的师傅会比较好,人都是趋利的
免费的反而是最贵的。。。钱到位了,人家可以让你少走弯路
免费的,顶多是你问一个,别人答一个
收费的,你问一个,别人反过来先问清楚你为什么要这么想,会给你考虑有没其他方式方法!

TA的精华主题

TA的得分主题

发表于 2022-11-13 20:18 | 显示全部楼层
morpheus126 发表于 2022-11-13 19:36
"内存问题必须与数据库连"
您好,可否稍微展开讲讲。。。这个内存是怎么回事

我们的Excel表格一般早期版本2007,Row=63000多一点,后来的版本就变长了大约是10多万吧,但是对于数据太多的表格来说,被占工作表行数越多,内存就占用的越多,运行就会变慢,当几个表都有很长的数据时,运行速度就会变得更慢了,如果再加上代码的变量不是变体的变量,那就会速度更加大打折扣,但是数据库却运行不受内存的限制,只工你C盘或内存条有足够的空间,一般是不会出现问题的,相对于数据库来讲,Access是比较小型的数据库了,但对于非大型企业或公共事业单位,这已经足够用了。

TA的精华主题

TA的得分主题

发表于 2022-11-13 22:12 | 显示全部楼层
个人感觉
VBA本就不是门编程语言,只是个脚本
做为爱好可以
正经的的想运用到工作中,精力还是放在函数、透视表、PQ之类的云云.......
记得有个精华帖说的好,如果上面那些工具解决不了你的问题
说明这些问题你应该去找IT,扛着VBA干IT的活,赛道就错了
如果真需要VBA实现复杂的工作,某宝花个几块钱比你写的好百倍

TA的精华主题

TA的得分主题

发表于 2022-11-14 09:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
vba很简单,一般人学1个月就能搞明白数组和字典了。如果一个月还是懵逼的,那就两个月。再学下去,其实就没多少必要了,至于窗体啊,api啊,这些说句实在纯属多余。excel就是excel,没必要搞到这么复杂,要将excel当做是excel。有那功夫学另外一门语言,收益可能更大。
本人也会一点VBA,但实际日常工作中,根本用不到VBA。
学会规范记录数据,比会VBA重要一百万倍。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-1 21:40 , Processed in 0.042269 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表