經常使用Excel,學習VBA還是PYTHON?哪個容易學?我是四十歲大叔?

藍皮凱文


其實Vba和Python作為語言來比較,沒有特別誰比誰好的。比如下面是許多人列出的對比:

  1. Python資料多。其實你用Vba可以通過錄制宏得到大致的代碼

  2. Python語法簡單。其實編程語言來來去去就那麼幾個基本語法,說語法知識點的話,Vba的語法數量更少(因為他是一門很久沒有更新的語言)

  3. Python的庫多。這是真的,Vba沒法相比。


這樣看起來,感覺好像Vba會好一些,其實你的問題應該從2方面去做考量。


一,操作Excel為主

如果你的工作需求都是可以通過Excel內置功能完成,那麼 Vba 會更加方便,你編寫代碼方便,就意味著你更容易學習。


比如:批量設置多個工作表的格式,簡單調用Excel內置排序功能完成數據排序等等

如上這些需求其實都不涉及複雜的數據處理,完全是調用Excel內置功能即可完成,因此使用Vba只需要簡單錄製宏,通過基本語法即可完成自動化。


二,數據處理為主

當你需要進行數據處理的時候,那麼Vba平臺就顯得很笨重。一旦數據量上千過萬(這數量級實際很小),你就需要學習數組、字典這些知識才能完成任務,這裡面的學習量就很大。


比如:某學校考試超過全校平均成績的學生列出來。


就這麼一個簡單的需求,你要用Vba完成,代碼量不會少,如果你在代碼中使用函數公式,代碼邏輯會不清晰,並且數據量上千後,速度會很慢。如果你用數組處理,代碼量會多起來。


如果你學習python,並且會一點pandas庫的知識,這種需求就一兩句代碼解決的事情,並且代碼邏輯清晰。


因此,如果你的工作任務涉及這種數據處理需求,那麼建議你學習Python。隨著需求難度升級,如果你用vba,不是說不可以解決,只是說你可能會瘋掉。


三,操作Excel + 數據處理

你的情況可能是既要操作Excel,又有數據處理。那麼建議你先學習Python,因為操作Excel其實可以使用Python的xlwings庫完成,操作邏輯的代碼同樣可以通過錄制宏稍作修改即可使用。


而且,當你學會python,其實學習vba是很簡單的事情,因為你不需要考慮用低級結構(數組,字典這些)去處理數據。


最後

順便提醒一下你,其實Python語言在數據處理上本身沒有啥特別優勢,但是Python作為一個平臺,他有許多優秀成熟的第三方庫,那些庫才是你的學習重點。千萬不要把寶貴的精力用在低效的地方


你可以去看看我的頭條號的文章,非常多關於數據處理的文章,也有一部分是結合Vba與Python一起使用的案例,有學習疑問也可以私下交流。


外星人玩Python


我之前也嘗試過學VBA,後來用了Python,VBA卻一直沒學會。個人建議還是學Python好,主要考慮以下幾點:


  1. 上手難易度來說,Python 容易一些。我試了一段時間VBA,想做一些自動化工作,感覺非常麻煩,所以乾脆放棄了,而Python是一套很標準的編程語言,邏輯很清楚,學起來很快。當然,也有可能我方法不對。

  2. 學習資料上說,Python非常豐富,VBA比不上。

  3. 之後寫代碼的容易程度。這一點Python完勝,就算在編程語言中,Python也可以說是使用最方便,實現腳本需求最快的語言。

  4. 日常需求的滿足程度。VBA肯定能滿足Excel操作的所有需求;而Python操作Excel主要使用xlrd、xlwt模塊,我個人使用的經驗是,設置單元格格式比較麻煩,當然,我不清楚VBA中是不是也這麼麻煩。

  5. 未來的擴展能力。毫無疑問,這一點也是Python完勝,Python作為一門腳本語言,在工作的各個場景中都很有用處,數據處理和分析,文本處理等,都有很常見的自動化需求。


其實,之前有很多人提議微軟的office直接支持Python編程,好像微軟已經接受了這個提議,只是具體實現尚需時間。從這個角度來說,這時再學VBA,就有點像49年加入國民黨了。

供參考!


ReadingPython


別花太多時間去考慮選擇什麼語言,那只是工具,更重要的是考慮如何去解決所遇到的問題。我自己也是四十歲的大叔,之前有自學過VBA,後面發現VBA無法幫助我處理大數據分析,於是就開始學Python,發現有了VBA的底子Python不會太難。同樣你有Python的底子去學VBA也不會太難。道理就和講英語的和講中文的人同樣都會解一道數學題一樣。

同時希望你也不要太拘泥於VBA或者是Python,能花幾分鐘用函數或者是透視表或者是Power系列工具解決的,為啥還要去編程呢?多一技則多條道。


徒然過客


使用VBA會更好一些,基本的Excel編程需求都可以解決了,而pathon靈活性比較好,在多數開發語言裡都會和pathon結合來提高程序的靈活性,並且pathon在AI領域應用也比較廣泛,當然如果你有興趣來學習好pathon可以做程序開發工作了。


互聯網行者


VBA與微軟Excel結合最緊密,你若不常用Excel,學Python。若常用Excel,肯定VBA更勝任。


月眠雲中


“我是四十歲大叔?”

裡邊的問號是啥意思?其實你不知道自己的年齡?


分享到:


相關文章: