【干货】如何快速学习VBA

▌序

在知乎上有很多朋友问VBA如何入门?看着代码密密麻麻看不进去。

我想说,我刚开始看也是看着代码也是挠头,但是没办法,要解决批量处理excel的相关问题VBA再好不过。一定要坚持。

我理解的入门,是看到问题,立马能想到用哪个VBA知识点来解决。如果在脑袋里还能隐隐约约有那么几句固定格式解决各种问题的代码,那就算是中等水平了。

其实我觉得很少人用学那么深,并且能解决大多数人遇到的问题的代码就那么几类。都可以通过修修改改来实现自己需要的功能。

代码太多了,根本不用记,用的时候找出来需要代码拼凑修改一下就可以了。这样的话我觉得对于一般的小白,从入手到中等水平,需要半年吧。毕竟工作一族不可能每天都有充裕时间去学习。


关于我自己的几点经验

多看VBA教程

买本书或者看视频均可(最基础的,循环,数组,字典,正则,事件要没问题,不然修改代码都不知道如何下手),视频找适合自己的,适合就是看得进去的视频。

如果实在看不下去书和视频,那还是参加专门的培训或者趁早放弃找人代工。

如果你遇到某个问题,就能想到用什么知识点来解决,那么恭喜你!就算不会代码,你这也算是入门了。不能算小白了。

这个时候你需要的是,赶紧翻书或者看教程是如何利用这个知识点来解决问题的。并且尝试自己敲出来代码,或者录制宏修改代码。印象会很深刻。

学会积累和修改代码

举个例子:循环打开多个工作簿

估计好多人听说VBA是从合并工作簿知道的,合并工作簿是有通用的代码框架的,记住框架,再也不怕对工作簿进行其他操作。

Sub 循环打开工作簿()

    Application.ScreenUpdating = False

    myfile = Dir(ThisWorkbook.Path & "\*.xls*")

    Do While myfile <> ""

          If myfile <> ThisWorkbook.Name Then

                Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & myfile

我是需要填空的代码

          Else

        End If

        myfile = Dir

    Loop

    Application.ScreenUpdating = True

    MsgBox "完成"

End Sub

如果你要提取特定内容的单元格,只需要结合find方法,查找内容是“你好”的单元格的行号,并赋值。在空白处填上如下代码即可。

ThisWorkbook.Worksheets(1).Cells(a, 1) = wb.worksheets(1).Cells.Find("你好", , xlValues, xlWhole, xlByColumns, xlNext, True, True).row

如果你要合并工作簿,那么只需要在填空的代码里,对单元格区域应用copy方法。在空白处填上如下代码即可。

wb.worksheets(1).range("a1").usedrange.copyThisWorkbook.Worksheets(1).range("a1")

上面说的copy方法、find方法只要是入门了的选手,稍微翻翻教程便会。

诸如上面所举的例子,好多代码都是可以套用的,不用背代码。只要多搜集整理,用的时候能找到就行。

当然,我也会在以后的文章里面多分享一些通用代码。希望大家持续关注。

= 好文推荐 =

VBA字符串函数,你想学的都在这里

VBA工作表事件实现“聚光灯效果”

三分钟学会excel批量插入图片

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、替换不规范日期 在Excel中输入日期时,年月日之间可以使用短横线- 或是使用斜杠 / 作为间隔。但是很多小伙...
    花和尚007阅读 782评论 0 0
  • 今天又get新的技能啦,以前周末都是在家里处理琐事,周日基本不出门,因为心里面总有一种恐惧的心里,觉得第二天就要上...
    Jessie1988阅读 230评论 0 0
  • tidyr包主要功能 将数据处理成标准而统一的数据框 数据框的变形 处理数据框中的空值 根据一个表格衍生出其他表格...
    albor阅读 616评论 0 0
  • 每天进步一点点,今天的收获挺多的,我爬楼学习了抖音,海报,简影,感觉很新奇,很好玩,参加E站到底还是来对了,收获了...
    Luka华阅读 243评论 0 0
  • 昨天我特别高兴,关于SUBTOAL函数的使用、高级筛选的使用,以及录制宏都有新的认识了。 我们通过SUBTOTAL...
    Alice7777阅读 176评论 0 0