|
01
從office97開始,VBA作為MS的標準內置配置,彌補了excel內在的基本函數(shù)不足以支持的復雜計算,提供了一種相對輕量級的、所見即所得的解決方案,濤哥在21世紀初因內部工作需要(統(tǒng)計代碼行數(shù)記工作量)第一次接觸了VBA,并在以后的工作中多次出色的完成相關任務,甚至給濤嫂編的幾個小程序大大提升了她們的工作效率,還受到了時任行長的贊許,現(xiàn)在想來還歷歷在目。 02 VBA的應用 可能有人會說了,excel有非常豐富的內置函數(shù)庫,能滿足大多數(shù)場景的需要,VBA就沒必要學了吧,也對也不對,濤哥有個專輯專門介紹這些常用函數(shù)的使用方法,確實,對于簡單的場景或者說對于大多數(shù)對excel了解不深的人來說,學幾個函數(shù)覺得老神奇了,但是對于稍微復雜一點的場景就顯得無能為力,即使看起來挺簡單的場景。 下面我舉個例子:某小學的數(shù)學老師需要編排一套口算題,大概有50頁,每頁100道題,內容來源不詳,但有一個要求,那就是每頁的題不能有重復的,不同的頁可以重復。 這個要求不高,看似也不難,如果是你你會怎么做?思考10秒鐘…… 估計大部分人首先想到的是一頁頁對比,50頁5000道題,工作量可想而知,濤哥也搜腸刮肚的想了挺多方法,最終還是覺得用VBA來實現(xiàn)最快最準確。 下面這40行代碼就可以完成任務,它把每頁的重復題目標成紅色,并統(tǒng)計出共有多少道重復的題目。
03 找門兒VBA 打開VBA窗口的方法有三種,一種是在菜單中調出;第二種方法是在sheet頁點擊鼠標右鍵調出;第三種方法是通過快捷鍵ALT+F11調出。 直線雙圖文字
VBA窗口
03 敲門兒VBA 幾個常用術語: 模塊 是編寫代碼的區(qū)域。可通過插入模塊的方式創(chuàng)建,插入模塊完成之后,就可以在模塊中編寫VBA代碼,代碼寫在一個過程(Sub)中。一個過程/子過程是一系列的VBA語句,指示要做什么工作。
程序/過程 程序(也叫作過程)是作為一個整體執(zhí)行的一組語句,它指示Excel如何執(zhí)行特定的任務。執(zhí)行的任務可能是一個非常簡單或非常復雜的任務。不過,把復雜的程序分解成小的程序是一個很好的做法。 程序的兩種主要類型,它們分別是:子程序(Sub)和函數(shù)(Function),下面就是其中的一段代碼:
函數(shù) 函數(shù)是一組可重用的代碼,可以在程序中的任何地方調用。這消除了一遍又一遍地編寫相同的代碼的需要。這有助于程序員將大型程序劃分為許多小型且可管理的功能。 除了內置函數(shù)外,VBA還允許編寫用戶定義的函數(shù),并在 Function 和 End Function 關鍵字之間寫入語句。 例如下面的這個獲取文件名的函數(shù)就可以在不同場合使用call來調用。
04 入門兒VBA 要想學VBA,首先要知道宏,要學會錄制宏,這可以很好的助力vba代碼的編寫,下面演示一個添加宏的例子,就算VBA的入門禮兒了。
05 寫在最后 很多人一提到編程就覺得很神秘,一聽說程序猿就覺得是火星物種,其實看了此文會發(fā)現(xiàn)原來人人編程不是夢。 編程的本質是將實在世界轉化成虛擬的邏輯流將處理過程交給計算機,我們只需要知道有什么,要什么,中間的邏輯是什么,也就是規(guī)則,規(guī)則是編程實現(xiàn)的基礎,退一步看,無非是一些條件判斷、循環(huán),稍微再加上一些處理的技巧而已,這么想你就不會對編程望而卻步了。 但也不是說誰都可以像編小曲兒一樣說編就編的,至少它在底層邏輯方面要求具備數(shù)學、計算機、哲學、邏輯學、美學、甚至心理學等學科的一些思路和思維方式的,也許有時你不一定意識得到。 不過任何事情到了高階都不會太容易,好在VBA讓你入門兒不成問題,它無需專門安裝,不用編譯,所見即所得,輕量級,與Excel的天然融合,語法的簡潔簡單,可視化等優(yōu)勢,是很多像java,C語言等傳統(tǒng)的重量級編程語言無法比擬的,只需要稍微深入那么一點點,將會讓你在數(shù)據(jù)的處理工作方面一個小時勝過別人一整天…… |
|
|
來自: asaser > 《Excel-VBA初級教程合集》