办公族到底是学习VBA还是Python?

首发 公众号 :EXCEL办公实战

到底是VBA,还是Python?

类似的话题,还有操作EXCEL学者Python,还是VBA

现在学习VBA还值吗?是否过期等!


这些问题,有很多粉丝在问,在知乎、头条我都有写过几篇交流过。

今天我们就来系统总结交流一下。


首先,我简单说一下,我自己吧。

VBA目前8年左右,Python主要写爬虫3年左右。

当然我也是办公一族,还是“表哥”

财务人员,上到集团下到市场门店都有经历

可以说几乎每天都和EXCEL形影不离……

就根据自己的经验,一起和大家交流一下。

在结尾部分,我也分享一下写的相关代码和操作EXCEL相关的Python库


1、开发效率谁高?


> VBA作为一门脚本语言,office自带,语法同历史悠久的VB基本一致,相对于Python这样一门真正的面向对象语言来讲,学习成本较低。

> EXCEL中相关的操作80%可以录制宏来完成,这里的宏一定意义上的说,跟我们所讲的VBA无差,这也就说明了,操作office,使用VBA效率更高,需要人工编写的代码也简化很多,很多新手通过学习录制宏,简单修改便可入门,实战应用。

> Python在操作EXCEL非纯数据方面,也就是图表、图形、格式等方便,实在是不方便,很多主流的Python对此支持也不友好,甚至好多库都不支持,这方便VBA则完胜。


2、学习成本谁低?


> VBA 属于office套件原生自带,更加专注,基本上原装的东西相对于第三方,都要好一些。

> Python语言,语法简洁,轮子多,这几年也是一路攀上,基本上已经排进语言前几名,这也是Python的一个优势。但是作为办公一族不要盲从,再简洁,你还是要学习变量、数据类型、循环判断这些基础,想要操作office,你还要去学习专门的库,比如xlwings、xlrd、Openpyxl等


3、学习难度谁大?


> 如果你没有任何脚本或者编程语言基础,那么可以肯定都不简单

> 如果只是操作一些文件的复制、整理、移动等,Python这方便成本更低

> 非要入门一门的话,优先考虑VBA,再学习Python


4、使用场景谁广?


> 毋庸置疑,Python完胜,一门轮子遍地的语言,不管在人工智能、大数据、数据分析、金融分析、还是WEB开发都有非常广泛的应用,虽然我大部分只是把它用来做数据采集。


> VBA主要还是专注于office这一个板块,虽然也可以调用winAPI等来做一些扩展,但终究限制如此,难走出这个圈,也不推荐强硬走出,专业的事情,交给专业的工具去做。


Python和VBA部分语法,出两个对线一下:


循环篇


<code>

'VBA:1-100累加

Sub

totalData()

Dim

i As Integer, lgSum As Long

For

i = 1 To 100

lgSum

=

lgSum + i

Next

End

Sub

/<code>


<code>

Python

:

1-100累加

i

=

0

total

=

0

for

i in range(1, 100):

total

+= i

/<code>


元素遍历

<code>
 :

每个元素加10

Sub

forEach()

col

=

Array(1, 3, 5, 6, 7, 8, 10)

For

Each eve In col

eve

=

eve + 10

Next

End

Sub

/<code>
<code>

python:也有for

i

in

list,这里使用列表推导式

[i+10

for

i

in

[1,

3

,

5

,

6

,

7

,

8

,

10

]]

/<code>
办公族到底是学习VBA还是Python?

<code>
 

Python:

使用Pandas读取EXCEL指定列数据,部分代码截取

def

getSearchKey

(

self

)

: wb = pd.read_excel(

self

.cp_file_path, sheet_name=

'leadsSC'

)

return

list(wb[

'Company'

])/<code>


部分VBA实战代码:VBA自定义函数篇


办公族到底是学习VBA还是Python?



办公族到底是学习VBA还是Python?


办公族到底是学习VBA还是Python?


部分Python数据采集篇:



办公族到底是学习VBA还是Python?


办公族到底是学习VBA还是Python?


操作EXCEL常用的Python库对比:


办公族到底是学习VBA还是Python?


番外话


这几年EXCEl版本更迭,Power系列组件逐步内嵌,加上推的Power BI

不管是Power Query的数据清洗(ETL),还是Power Pivot的数据分析

或者是Power Map+View的数据可视化,无疑强化的office这个工具

一定程度上,也让我们的数据分析工具得到了简化和便捷,Power BI则是整合了这些内容,一体化,使用起来也是更加高效。


对于未来,我还是推荐大家去学习一下这些工具,有些场景,比VBA更加合适。


未来可期!

篇幅限制,我们就不再更多唠叨,想必大家也对二者有一定的了解。

到处是“人生苦短,我用Python”

但是请不要盲从,你的应该学会自己去判断。

Excel办公实战,高效办公,每天进步一点点!

关注小编,下次精彩不迷路!

喜欢小编的文章,一定要点赞,关注,转发

您的鼓励是小编最大的动力!


THE END


分享到:


相關文章: