首頁>Club>
作為一名財務人員,平時需要處理大量的資料,主要是使用excel處理資料,請問學習VBA好呢還是學習python好呢? 目前Excel會使用30-40種函式,會資料透視表,資料處理目前是夠用,但是想深入一些,後期預估會用到。 感覺VBA程式碼不如python好理解,但是聽說VBA與Excel的契合度比較好。請大家推薦一下,並說一下推薦理由。
107
回覆列表
  • 1 # 嚥氣兒

    剛好這兩個我都接觸過,推薦python

    vba優勢是office自帶開發環境,安裝省事,但是程式碼看著頭疼,定義變數就把我卡在門外了。

    python的話,網上很多安裝環境的教程,使用anaconda自身整合好多包,我也是處理資料的工作,使用起來很舒服。原來各種彙總篩選統計,搞得頭大。重複工作沒意義。現在都交給指令碼處理。省下時間繼續學習python,偶爾看看自己寫的程式碼,權當複習。原來每天4、5個小時的工作,現在嘛,按秒計時吧。

    python最大的優勢就是語言很容易理解,語言邏輯清晰。按照自己的需求編寫需要的程式,工作不要太省力。

    python是弱型別語言,簡單說就是定義的變數可以賦值各種型別的值。vba恐怕不行。

    如果你的電腦配置不是特別差,還是使用python吧。聽說是比什麼C\C++需要執行慢,那也是對比。如果只是自己處理資料,python首選。

  • 2 # 幸福陸捌柒

    用VBA寫了一個小程式在公司裡用,為公司省了2萬多的軟體採購費,還解決了一些以前的痛點。老闆給發了一個500元紅包作為貢獻獎。你說VBA香不香啊!

    公司電腦啥也不給裝,只能玩VBA啊!

  • 3 # 油炸生煎包

    建議先學VBA,一方面直接用excel開發者模式就能寫程式碼以及執行程式碼,不需要額外軟體的安裝配置,簡單方便;另一方面你的excel基礎和積累能降低你的學習成本;第三語法比較簡單,容易上手

  • 4 # Excel辦公實戰

    作為兩種語言都會一些的財務人員,首先還是推薦先VBA,再考慮Python的學習

    理由如下:

    VBA作為office的原始自帶語言,相對於其他語言操作Excel更加方便快捷

    VBA是Visual Basic For Application 的簡稱,語法體驗和VB一致,都是一個大家族,作為一門指令碼語言,學習成本相對於其他語言較低。

    Python作為最近幾年的熱門語言,其語法簡潔明瞭,輪子也多,財務領域,可以用於資料的採集,ETL和後續分析。就資料方面Python操作起來方便很多,但是對於一些格式圖表細節則不如VBA來的方便。

    VBA學習成本相對Python低一些

    對於新手,首先要學習的就是錄製宏!

    在Excel中錄製宏,把我們的操作錄製下來,反覆使用,就好像錄製影片一樣,可以反覆觀看,其中80%的功能,我們可以通過錄制宏來實現,剩下要學習的知識並不是很多

    需要學習的大概有

    1、工作薄物件,工作表物件、單元格物件、圖表類物件(相對前兩者使用少一些)等

    2、迴圈和判斷語句(FOR、DO、IF常用)等

    3、其他重要:陣列、FSO、正則、字典等

    財務人員使用Excel頻率高,跨檔案操作必學VBA

    只會函式、技巧、圖表對於複雜一些的財務需求是遠遠不夠的,

    集團中,財務面對是經常是大量的檔案彙總處理、資料抽取、分析、拆分

    這種跨檔案,大量的處理,是函式所無法完成的,如果會VBA則得心應手

    未來可以推薦PBI系列

    隨著PBI和Power系列的出現,給Excel插上了翅膀,

    Power Query :對資料的ETL簡單高效,降低了學習成本,對於新手比較友好,

    Power Pivot :號稱超級透視表,透視表大家都知道非常的好用,對於簡單的資料分析,非常方便,那麼這個超級透視表,可見一斑

    Power Map:資料視覺化展示,比自帶的常用圖表展示更加方便,在Power BI中有了更多的圖表外掛可以學習

  • 5 # metoogo

    對於這個問題,首先要看一下題主處理資料的量是多少數量級別的。然後主要輸出的資料格式是什麼樣的?

    如果只是10萬以內的資料量,其實直接vba就好了,出來的還是excel格式的表格,方便交流傳輸。而且做出來的表格傳遞給同樣擁有excel的人,就能馬上使用這些開發好的功能了。不需要像python那樣還要考慮封裝介面什麼的。

    可是如果資料使用量太高,而輸出大多也只是整理好的精簡資料的話,python倒是個不錯的選擇。python入門也不算太難,但是麻煩就麻煩在後期的封裝和交流。

    2種語言的對比上來說,python的功能要更為強大一些,而且上手也簡單許多。vba的話上手也不算困難,只是語法上來說沒python那麼貼近語義,很多功能\模組\命令都已經多年沒更新過了,使用的時候感覺年代感滿滿的……

  • 6 # 辦公小技巧

    如果你沒有語言基礎,並且想學習一門語言來處理Excel表格,那麼我的建議是不要學VBA,也不要學Python,C#和

    VB.net

    任學一門就可以了,然後再學習點SQL的基礎,基本上資料處理你就能搞定了,資料處理歸根結底還是需要資料庫支援,而不規範的表格資料註定不會有很多。

    不建議學VBA理由

    可能很多人會反對這個說法,我只能說適合自己的就是好的吧,VBA作為一種指令碼語言至少是20年前的東西了,20多年來沒有什麼更新,不論是在語法上還是在理念上都和現代的

    VB.net

    、C#差異很大,基本上只適用於在office平臺上解決些問題,對操作office有更好的支援,僅此而異;如果你學習的是一門現代的語言,不論是C#還是

    VB.net

    ,透過第三方庫操作office只是它的一種用法而已,能幹的事情會更多,處理起來速度更快,效率更高,有人會拿VBA支援事件來說事,但是要知道但凡需要介面事件等來操作的,編製成軟體後錄入才是更好的方法,而不是在一個表格中折騰。

    軟體連線資料庫非常容易,不論是C/S還是B/S模式,給使用者的只是客戶端介面,資料永遠在公司伺服器的資料庫中,安全性更好,VBA想實現很難吧。

    如果你已經會

    Vb.net或c#

    ,那麼也只是可以看得懂部分的VBA程式碼,能寫點簡單的,如果只會VBA,那麼面對

    VB.net和 c# 程式設計,基本上需要重頭進行學習,原來的那些VBA知識基本上沒用。

    不建議學Python的理由

    Python這兩年很熱很火,但是基本上不適合於普通使用者使用,特別是在windows平臺上,先說開發環境有很多不說,還有不同的版本支援,需要呼叫的第三方庫,中間的各種不相容等,如果對linux沒一點了解,還是不要碰它,Python實現影象介面有一定的難度,不如C#友好,寫好程式碼後製作成可執行軟體使用者互動差。

    python的強大之處在於它的第三方庫非常非常的多,通常只需要很少的程式碼量就能解決問題,但它對普通使用者不友好。

    c#和

    VB.net

    這個也是微軟的親兒子,VS的IDE說第二沒人敢說第一,上手容易,介面也相當友好,透過簡單拖拽就能做出一個圖形介面,再引用第三方庫

    Spire.Xls

    、NPOI等處理起來Excel更是方便快捷,你完全可以把Excel中的資料讀入到DataSet中,然後在DataGrid中顯示出來進行處理,或者在後端處理,也可以直接讀單元格來處理,最後處理好的結果你是想儲存到資料庫中還是想存回原有的表格中,或者是根據某些條件批次生成大量的Excel檔案,都是相當容易的事情。

    最終想學哪個決定在自己,但是在學習之前找個VBA的手冊和C#的手冊都瀏覽一下,就明白自己該學習哪個了。

  • 7 # Excel函式公式技巧

    這一個還是要看具體的需求吧,其實VBA和python都是解釋型的程式語言,可以說學習的難度都不是很大。

    首先,如果只是簡單的一些程式設計,且還是更多的希望基於excel做一些資料處理及分析,VBA不愧是一個很不錯的選擇,況且個人認為VBA有一個非常好用的功能——錄製宏,很多工作表的操作都可以通過錄制宏實現,省了很多查閱手冊的時間。如果是編寫一些不太複雜的業務管理系統的話,excel vba是完全可以搞定的,本人也釋出了透過vba實現進銷存管理系統的系列課,感興趣的可以檢視。

    其次,再說說python語言。個人認為python語言比較大的優勢是各種庫非常豐富,透過呼叫各種庫,可以用很簡短的程式碼實現複雜的功能。同時,python裡面的numpy、pandas等科學計算庫,為我們做資料分析也提供了強大的支援,同時Matplotlib庫提供了強大的繪圖功能,能輕鬆繪製出各類美觀的圖。所以說,如果要進行科學計算分析的話,python也是一個不錯的選擇喲!

  • 8 # 浮生若夢01975

    必須Vba,office自帶,有點basic基礎(貌似大學都要學,高中資訊結業考試就是考basic)很容易上手,網上資源教程也多,office自帶的幫助文件也很全面。vba很強大,連線sqlserver毫無壓力;可呼叫系統API;使用ActiveX控制元件等等。VB6的功能它基本都能實現。當然和vb.net比肯定有差距了,比如原生多執行緒,繼承等等。

    執行效率只能說一般,前幾天遇多一個20多萬行的表,50多M(也是醉了……),啟用了宏,開啟就要半個多小時,當然也可能是他沒最佳化好,還在研究中,擬採用Sqlserver。

  • 中秋節和大豐收的關聯?
  • 丈夫去世快一年,無法走出這段傷痛,無精打采怎麼辦?