辦公族到底是學習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


分享到:


相關文章: