最近給一位朋友寫了一段VBA程序,是一箇中小型的數據統計,文件是從多達幾萬條的數據中統計,形成若干個報表。之前這位朋友是用EXCEL函數公式來處理,往往要10多分鐘時間,程序做好後,在W8.1,64位,4GRAM,1.6G主頻普通家用機子實測僅需22秒就可以完成。可見VBA功能之強大。這也是我一再向廣大職場朋友推薦VBA的理由。

各行各業,數據的統計工作是必不可少的,我給各行各業的朋友寫過很多程序,有從事房地產的銷售人員,有藥店地區代理,有工程建設預算人員,還有辛勤的園丁,大量從事生產型企業管理人員,甚至還有醫務工作者,銀行人員等等,VBA在大家工作中是必要的也是必須的,有了這個工具,你的工作真的會輕鬆很多。

你只需要制定好自己的規則,剩下的工作交給電腦好了。電腦會按照你的規則實現你的目的。VBA實現需求的過程類似於函數的過程,我在很多文章中總會講函數,並且我給下了如下的定義:

如果對於唯一性輸入值value,輸出(或者return)的值也具有唯一性(這種輸入或者輸出的值沒有個數的限制),那麼具有這種變化關係的輸入和輸出關係,就稱爲輸出是輸入的函數.

VBA實現需求過程其實和函數的實現過程是一致的,我們向電腦中錄入數據就是我們的輸入,反應這種輸入和輸出關係的就是我們所制定的規則,我們的需求報表就是輸出。

我們要做的就是要制定好我們的規則:就是數據如何組合,在大量的數據中提取哪個工作表的什麼字段,這些字段怎麼組合,輸出到一個什麼樣的表格中。再和衆多的朋友交流中往往這一點是最爲費時間的,往往要反覆的溝通,才能統一需求。所以也希望大家在定製自己程序的時候能理清自己的邏輯關係,把自己要表達的意思清楚的傳遞給我,輸入是什麼?輸出是什麼?輸入和輸出的關係是怎樣的?VBA會把你的需求轉換爲計算機能識別的語言,通知給計算機,讓計算機來工作。

所以,制定規則的過程非常的關鍵,這是人類大腦來完成的工作,是人類智慧的體現。總的來說:

一要用準確的邏輯關係表達,不可模棱兩可。這是很容易理解的,只有準確的表達出自己的需求才能讓後續的工作順利進行。

二要全面,不可隨意增減。這裏指的是不能隨意增減,必要的增減是可以的。有時候需求一變化,整個程序都要推倒重來。

有一位朋友利用了VBA後反饋給我:老師,我之前統計的數據是不對的。。。要命啊!這也是手工處理和計算機處理的最大區別,手工處理隨意性很大,對於空格的處理,對於餘數規則的處理等等往往在每次統計中會出現不同的結果。這也就是我們要採用VBA的理由,而計算機處理,結果具有唯一性,在上面的函數的概念中講了,一旦規則制定好,輸入是唯一的,輸出肯定也是唯一的。

讓我們充分理解VBA實現需求的過程,利用好VBA,讓我們的工作更上一層樓。

相關文章