本人對(duì)這兩門語(yǔ)言都很熟悉,并且在工作上都有所應(yīng)用。
你的問(wèn)題可以從以下方面去考慮:
vba所長(zhǎng)
vba特別適用于處理格式非常混亂的表格數(shù)據(jù)。比如:
沒(méi)有明顯的表格標(biāo)題
一個(gè)工作表中有多個(gè)不同的表格數(shù)據(jù)。
此外,如果需要經(jīng)常處理excel內(nèi)部對(duì)象的時(shí)候,vba也同樣非常適合。比如:
需要讀取圖表中的數(shù)據(jù),或直接處理圖表。
需要生成圖表或透視表等操作。
Python所長(zhǎng)
Python目前已經(jīng)有大量非常好用的處理excel的庫(kù)。其中xlwings的操作非常貼近于vba(因?yàn)槎际腔赾om的對(duì)象接口)。
那么當(dāng)需求是比較貼近Python時(shí),其效率就會(huì)超過(guò)vba。比如:
需要做統(tǒng)計(jì)分析的時(shí)候。因?yàn)镻ython有非常好用的pandas等庫(kù)。當(dāng)需要對(duì)excel表格數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì)處理,使用pandas可以說(shuō)比vba效率高上很多倍。
需要整體完成數(shù)據(jù)處理上下游的工作時(shí)。例如需要先進(jìn)行網(wǎng)絡(luò)爬蟲獲取數(shù)據(jù),然后再進(jìn)行處理分析,最終輸出excel報(bào)告。這種需求就特別適合于Python一體化解決。