VBA怎麼入門吖? 昨天看到一個入門文章 很不錯 但是想問問有木有更好的辦法

鏈接在這裡http://wenku.baidu.com/view/acd81eea6294dd88d0d26b08.html


這種文章或者書籍其實挺扯的,非要把一個簡單問題搞得很複雜。學東西最大的動力和最大的捷徑就是興趣,就是迅速看到自己掌握某樣技巧之後產生的價值。所以我的建議是,VBA先不用系統得學,而是先直接用,體會到電腦比人手更高效的快感,然後在實踐中不斷去摸索和嘗試更高階的技能,只能到遇到瓶頸後,再找本書去看看。而且這個時候看的書,往往都不是VBA相關的書籍,應該是編程相關的書籍了。

直接使用VBA的一些捷徑如下:

1)對想實現的功能手工操作一遍,同時錄製宏

2)根據錄製的宏,更改參數及簡單修改代碼(加IF或者For循環)。下圖是我寫的第一個VBA代碼,準確說是拿Macro錄製後改出來的。

詳情見Excel 有哪些可能需要熟練掌握而很多人不會的技能? - 何明科的回答

3)搜索引擎各種查,加上根據VBA的提示各種改。具體教程和案例,可以關注這個:粉絲回饋:程序讓你更性感 - 數據冰山 - 知乎專欄

...更多文章請到數據冰山 - 知乎專欄

...更多回答請看何明科的主頁


VBA因為有很強的實用性,除非要作為主業

否則強烈建議遇到問題解決問題,在解決問題的過程中學習

從我自身來說吧,一年前不知道VBA的存在,開始參加工作,身邊有個很優秀的同事(在技術上是我的偶像)用EXCEL做了很多很實用的數據處理程序,當時我的感受就是,我靠,我原來不會EXCEL啊……

後來因為要處理一些數據,我開始慢慢嘗試去學習,遇到問題首先去看自帶的幫助文檔,一般情況下都能解決

當然,如果你需要實現一個方法,卻不知道用什麼技巧來解決,這時候你需要的就是搜索,使用關鍵字搜索,中文搜索不出來嘗試英文

且用且學,這就是我的建議


VBA入門的關鍵在於理解程序如何與人的操作相對應,逐步分析程序是入門和提高的關鍵,可以看一下我對這個問題的回答。

Excel VBA 如何快速學習? - Mervyn Zhang 的回答


我剛經歷了這個階段,在這裡就用自己的經驗回答一下。

學習編程語言最有效的方法是實踐,而且是帶著明確的目標去實踐,而不是漫無目的的跟著練習的代碼一段一段敲,只有這樣,才能有強烈的驅動力。並且,看到自己親手敲出來的代碼能有一定的作用時,又會反過來增加自己的學習動力。如此反覆,你就根本停不下來你前進的腳步啦。

我在去年的時候,帶著隊伍接手了一個項目,其中一個環節是將excel表格裡面呈現的內容,按照提供好的word模板輸出。這這這,這是要我們整個團隊都變成CV工程師(ctrl+cctrl+v)的節奏么?作為一個脫離了低級趣味的人,我不能這麼干!!在腦海深處隱隱覺得好像有個叫VBA的東西能夠做這件事情,於是乎便上了這條船。

首先,啥都不懂,那就百度唄,通過百度拿到了一部分類似的代碼。運行之後,結果果然是各種報錯,一點面子都不給。啥都不會咋改呢?這個時候我買了一本VBA的教程,為了避免推銷的嫌疑,我就不說書名了。這本教程我大概看了一下框架,就被我當成工具書來用了。基礎語法啥意思?不懂,那就翻翻書吧。不得不說,這本書給了我很大的幫助,讓我在大腦裡面對VBA有了一個基本的架構,網上的資料雖多,但是大部分都是零碎的內容。

沒有主角光環的我,也不是一看書就能把代碼寫出來了,大量的報錯怎麼辦?那就把網上下下來的代碼拆了,一部分一部分的去修改,調試,然後再組裝起來。

最後,我花了大概14天實現了用exel自動按照模板輸出word的功能,並且有著滿滿的成就感,也激勵著我自己繼續學習。

現在我已經通過這項技能獲取到了一個更有前景的職位,也很感謝這次經歷給我帶來的人生轉變。

僅僅看一篇文章就想入門時很難的,需要的是,不斷的實踐與糾錯。為了保證實踐時候的積極性,最好是讓自己做出來的東西能有用,能夠產生價值。如果確實想學習VBA,只是糾結於方法,那就立刻開始吧。種一棵樹最好的時機是十年前,其次是現在。


錄製宏 百度 看幫助 大量的實例練習

實例獲取方式 excelhome論壇的vba板塊 以及百度知道里搜索excelvba相關問題

簡單vba問題 你每天來10道 連續一個月 差不多一般問題不在話下

另外可以關注我的博客http://excel880.com,也可以加我的群165159540


這取決於你想應用VBA到什麼程度。

  • 如果,你只想一般地用用VBA做做重複性工作,那就上網翻翻怎樣錄製宏,以及一般的循環語句怎樣寫。
  • 如果,你想更進一步深入地學習VBA,你應該系統地學習,比如,你可以買《別怕,ExcelVBA其實很簡單》來入門,入門以後,一般的問題你都能輕鬆地解決,至於更高級的問題,其實也是萬變不離其中的,查幫助或者上求助就OK。經曆數次自行解決問題後,你的水平也就能提高起來。


http://msdn.microsoft.com/zh-cn/office/fp123562


上大學時學過c語言沒?學過就好辦了,循環判斷語句類似,單元格定位用cell(i,j),加減乘除一樣,其他函數隨用隨查。算個東西上面的就夠了。其他操作錄製宏,看代碼,依葫蘆畫瓢,有問題問谷歌百度,始終相信,你想實現的細分操作已經有人實現過了,你遇到的各種問題別人已經遇到並解決了。不用刻意看教材或網上的各種教程,看了你也記不住,記住你也不會用。以問題為導向,一切從實踐出發,很快就可以入門,用多了就成高手了。


看了幾個高票答案,我自己來補充一點吧。

先說下我的VBA能力:

有其他語言編程基礎 --&> 實習中,使用VBA,膽大的直接用 --&> 擔任VB考級的培訓講師,系統的講課,順帶系統的學習 --&> 工作後,再次接到實習公司的VBA項目,重新看曾經寫的程序,太爛了。

根據以上的學習經驗,我說一下怎麼入門吧

  1. 至少應該過一遍VB的二級考試書籍,了解相關概念: 這步真的很重要,可以參考我的經驗,我第一次的學習是沒有學過這方面的書,直接上手的,當然程序也寫出來了,評價也還行。但是當我再去教這門最簡單的入門課程的時候,我還是發現了很多短板。因為沒有系統學習的緣故,很多當年的編程其實可以更簡單。
  2. 實際中,可以採用錄製宏的方法查看相關VBA如何寫:這個高票答案已經有了。但是我還是建議在第一步做了之後再做。因為這個方法也是我實習第一次學習的時候經常使用的方法,錄製後直接轉換成代碼,方便,但是會忽略一些編程中的問題,比如程序的演算法結構啦,當然VBA的很簡單,但是也有演算法的。
  3. 最後,給一個最重要的建議,搞一個實際的項目,做起來。此方法立竿見影,雖然我一直說實習的時候我做的程序多爛,但是我是在沒有看VBA書籍的情況下直接寫起來,並且讓它成功的在公司運行到現在(大約5年),怎麼也比入門難了吧。


用excel錄製宏,然後看代碼。

vba近似於vb的簡化版,如果有vb的基礎就更容易一些。


我原來也是用excel簡單分析數據的,但是從長遠看,推薦python,不要再跳MS的坑了。python有庫支持excel。

用了python,你就不會再想取用excel的蹩腳函數了。用python直接處理.csv文件就行了。如果還是想操作xls文件,請看下面的鏈接。

https://github.com/python-excel

xlwings - Replace Excel VBA with Python!


正在入門階段來答一發,買了一本書通讀了一遍,邊讀邊試驗,一行一行跟著敲,偶爾報錯了就像在玩大家來找茬,一點一點找問題。然而,合上書以後很快就忘記了。

前不久因為碰到了一個問題需要重複調用同一個公式很多遍,就又拿起了VBA翻了翻,突然一瞬間就像開竅了一樣理解了它。總結我自己的問題覺得入門有3點吧。

第一,還是要有基礎的編程思維,平時也要培養邏輯思維。

比如說我原來一直沒有理解定義變數是在幹嘛,理解之後明白,就像要從一個固定的瓶子往另一個固定的瓶子倒一些水,就需要第三個瓶子作為過渡。之前也看過這個例子,但還是要從根本上理解它,否則就是紙上談兵。

第二,要有實際的問題解決,不能只是看例題,這樣就很難有系統化的思維。遇到問題之後一層一層解決,逐步學習。

我最近碰到的問題是需要傳一系列參數到一個公式中然後輸出結果,和另外的數據做比對。我首先寫的是傳參數和輸出結果的部分,試驗成功之後在外面嵌套了循環,解決了多次傳參數的部分,再接下來在外面嵌套了條件判斷,分不同的情況使用不同的演算法。這樣一層一層往外套,比較容易知道問題在哪裡。

第三,並不是所有的問題都需要VBA,excel 很強大,很多內置函數已經很好用。當然出於學習的目的用自己的邏輯重新定義也很好。出於效率考慮,有時候VBA並不是最優解。

以上。


1.買本書,按照案例從頭到尾自己敲一遍程序

2.遇到不懂的逛論壇問,比如Excelhome

3.工作中能用到的地方嘗試自己編寫


錄製宏的功能比較實用,但是很有限,有很多VBA的功能不能使用錄製宏功能實現。比如,使用VBA批量發送電子郵件分發工資單。錄製宏能實現嗎?


先找點視頻和書籍學點基礎知識,如果學過vb的話那就很容易上手了,關鍵還是得有針對性的練習,不然過幾天就忘了。


如果學過編程(任何語言),那麼VBA語法是很簡單的,過程/函數/循環/判斷都非常相似,只要了解Excel的對象就可以控制表格了。

如果是零基礎學習的話,最近剛剛在優酷上看到一個超級強的VBA課件,全民一起VBA - 播單 楊老師的課堂的自頻道,個人感覺絕對可以碾壓一切視頻課程!不過貌似只公開了一部分章節,不知道會不會持續發布。


昨天開始,聽51自學網課,基礎的概念聽聽課還是有用的。至於後面的學習,興趣學習進步快。共同進步!


找本書敲一遍。

非重度使用者只要知道拿來怎麼用、抄的怎麼改、會寫些簡單的就能秒殺大多數人。


推薦閱讀:

GCC/G++、ICC、Clang、MSVC、BCC等C/C++編譯器有什麼特長和不足?
疑犯追蹤第五季第一集的疑犯追蹤中,為什麼是使用ps3來搭建大型計算機?

TAG:編程語言 | 編程 | 計算機 | MicrosoftExcel | VBA |