選擇VBA還是Python?

到底是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>
'VBA:每個元素加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


分享到:


相關文章: