如何能有效地学习 VBA?

如何能有效地学习 VBA?

2024-05-25 23:52:09 0点赞 3收藏 2评论

为什么要学VBA?

用好VBA的话确实可以给你再办公室的工作效率带来质的提升。如果有人跟你说你可以用Python什么的语言处理Excel balabala的,你可以无视他了。毕竟就题主的描述看题主并不是计算机专业人员,只不过是为了提升自己的效率而已,说白了只是为了实用的目的学的。

学VBA学什么?

那么VBA应该怎么学呢?当然VBA可以有很高级的用法,但是以题主的目的来看,其实VBA对题主有两部分的内容:Visual Basic的语法和Excel的对象模型体系。如果这两部分都搞懂了,实践中遇到问题,上网搜搜就可以了,推荐Excel Home。

零基础怎么办?

但是,题主是0基础,这个怎么办呢?嗯,录制宏是个好玩意儿。当你不知道某个要实现的功能该怎么写的时候,先把手动做的过程录下来,再把录制的代码修改修改就可以了。怎么录制宏?以Excel 2010为例“文件->选项->自定义功能区”,然后把开发工具勾上。接着点“录制宏”,之后你想做什么就做什么就好了,做完结束录制,你需要的代码就都录制好了。

如何能有效地学习 VBA?如何能有效地学习 VBA?

地址:《王佩丰学VBA视频教程》

如何能有效地学习 VBA?

嗯嗯,这个做法不错。那么摆在题主面前的最后一倒大关是什么呢——编程的基本概念。那么编程的基本概念是什么呢?那理论多了,大神们可以说个没完没了。不过,题主可以宽心,学个VBA,你需要了解的其实只是一个中心——“变量”,两个基本点——“过程和函数”和三个代表——“顺序、判断、循环”。只要你建立了这些概念,就可以开始边练边学了。这几个概念建立需要多长时间?读完我的回答就可以了。

好的,我开始BALABALA了。

一个中心——“变量”:

VBA和C语言一样都是命令式的语言,变量是你执行计算的中心,也就是我们编程的过程,多数时候是在对变量进行加工。这个概念就好比数学里面的函数,有个原变量,函数加工之后就得到了因变量。比如我要求平方:

Dim X as Integer X = 5 X = X * X

上面的代码里面X就是个变量,X = 5是给X一个初值,X = X * X就是对X进行的加工,也就是求平方。

两个基本点——“过程与函数”

VBA区分过程与函数,实际上这两个货基本一样。函数是什么?这里的函数,其实和数学的函数很像,把变量丢进来(参数),产出就函数的返回值。还是举平方的例子:

Function Square(Num As Integer) Square = Num * Num End Function Sub Fun1() Debug.Print Square(5) End Sub

很简单吧?函数就是Square,和函数同名的变量就是你要返回的值。把变量Square的值设置为你要返回的值就可以了。过程呢,也就是Sub,其实就是不返回值得函数。上面的过程Fun1里面调用了我们写的函数Square,传入了一个参数5。

三个代表——“顺序、循环、判断”

既然题主对公式里面的IF什么的比较熟悉了,那么下面的内容应该不难理解。

“顺序”是最基础的语句执行模式,说白了就一句接着一句的执行。上面代码就是顺序执行的一个例子。先赋初值给X,然后再求平方。

“判断”呢,就是说,根据某个判断结果,来选择执行那些语句:

If X > 5 Then ' Do something Else ' else is optional ' Do elsething End If

“循环”呢,就是重复做某件事情,这大约是最能解放你双手的以中语句了。比如我要求1~100的和,那么我可以X=X+1 X=X+2 …… X=X+100,呃,是不是快累死了?没关系,循环解救你:

Dim Sum as Integer Sum = 0 For i = 1 to 100 Step 1 Sum = Sum + I Next Debug.Print Sum

上面的代码应该挺直白,说白了就是设置一个变量Sum,设初值为0,然后从(For)1加到(to)100,然后Debug.Print Sum把最后结果打印出来。如果实在不懂也不必太纠结,具体的语法,你查查语法手册就了解了,用着用着自然也就熟悉了。

接着,该学点儿什么?

好了,基本思想就是这么地了,没什么神奇的。那接着怎么办?接下去,就要了解怎么用VBA操作Excel了,这一部分是VBA(Visual Basic for Application)中for Application的部分。于是Excel的VBA对象模型就登场了。其实也就是Application代表Excel程序,Workbooks代表所有打开的Excel文件的,Sheets代表Excel文件里面的表单,Range代表一个单元格区域什么的。比如

Range("A1").Value = 1

就是将当前表单的A1单元格的值设置为1。打开VBA的录制宏,试一试你就了解了,很简单的。

多学多练是学习任何一种东西的不二法门。只有通过不断的尝试你的编程技能才会得到真正的提高,一开始的时候可能会处处碰壁,没有关系,这很正常,我们拥有人类历史上最好的学习条件,勤查询勤思考,任何问题都能解决的。

展开 收起
2评论

  • 精彩
  • 最新
  • 一,刚起步moment,如大佬所言,刷网课自学python及其三件套,然后直接上手实操项目,代码什么的都是Ctrl键➕c和Ctrl键➕v=网上现成=能看懂会改参数,但从零到一原创编写的不会
    二,后面有其他大佬建议,原因在于之前囫囵吞枣,应该得回归基础,找几本书看看。。。
    三,目前执行中,但书本看过的内容很快就忘,没啥感觉,对python及其第三库规则or参数还是不甚了解。。。
    四,本人非系统开发方向,非程序员,但需要python做统计分析、数据挖掘、规则策略和算法建模,so应该咋办?求指导

    校验提示文案

    提交
  • 拟用python做策略建模,包括但不限于:策略规则、算法建模:
    一、数据导入
    二、数据预处理(清洗规整、增删改查、数据类型转化)
    三、探索分析(可视自动化)
    四、特征衍生(组合变量批量自动化生成、特征筛选指标评估自动化)
    五、分箱筛选(变量分箱最优自动化)
    六、相关性构建(多类算法聚合:逻辑、回归、分类&机器学习、深度学习、强化学习
    七、检验评测(第六项计算各自的混淆矩阵指标,自动化计算结果)
    八、分数转换
    九、超参调优

    so针对第二至七项,就python及其第三方库(自动化)实操详解的电子书及其代码而言,特跪求大佬推荐。。。非AI或者chatgpt+XX系列,书籍需求具体如下:
    1、小白速成上手、简单易懂
    because:文科转型
    2、行业内公认靠谱,电子书中文版(暂不考虑:单个某库的说明书)
    because:内容忒多繁杂,且无常用算法库的聚合呈现
    3、需要2023年出版
    because:即使按书实操,旧版书均因为其所涉之第三方库的灭失、相同操作而新旧版本不适配、新旧版本变更操作等原因而导致无法实现同等功能)

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
3
扫一下,分享更方便,购买更轻松