以前有接觸一下VB,但是VBA還是頭一次,說(shuō)實(shí)話,現(xiàn)在對(duì)VB/VBA都不是很熟悉,很多語(yǔ)法我都還不會(huì),常常連Debug都要找別人幫忙,呵呵。兩周過(guò)去了,我居然還搞定了,雖然程序?qū)懙煤軄y,但是還是有不少心得的,所以想在此記錄下來(lái),分享給大家。
1、終級(jí)一招。
情景:假如我們想設(shè)置一下Excel單元格的樣式,如設(shè)置成日期顯示格式,將2008/01/27顯示為1-27,怎么辦?像我這樣的新手肯定是不會(huì)知道該怎么弄的,到底怎么辦呀?急死我了。
解法:采用宏來(lái)錄制一個(gè)設(shè)置日期顯示格式的單元格,然后用VBA編輯器打開(kāi)看看,不就知道了,呵呵。這招是不是很強(qiáng)大?看來(lái)如果你不會(huì)宏的錄制,那就得好好學(xué)學(xué)了,超級(jí)簡(jiǎn)單的,例如我錄制的設(shè)置日期的宏顯示的代碼如下:






2、VBA是單線程的。
情景:如果要用你想像某些軟件那樣,用戶界面看到在做事,而后臺(tái)又在運(yùn)行程序的話了,可以自己找一些API來(lái)實(shí)現(xiàn),網(wǎng)上也有這樣的例子,不過(guò)我做過(guò)這樣的嘗試,實(shí)現(xiàn)都因?yàn)榉N種原因失敗了,因?yàn)樵谧约鹤龅乃^的Thread里面,不能讀取Excel的單元格,也不能引用其它庫(kù)來(lái)調(diào)用WebService之類的東東,所以當(dāng)你想這樣做的時(shí)候,一定要先試試看是不是行得通,行不通就得想想你的架構(gòu)是不是要改改了。
解法:最好是不要用多線程。如果非要用,先要有充分的技術(shù)準(zhǔn)備。
3、找一份好的Excel VBA文檔。
情景:怎么知道我的Sheet中有多少行數(shù)據(jù)?怎么辦?去搜?文檔很重要喲,特別是像我這樣的新手。
解法:網(wǎng)上有很多,下一份你自己認(rèn)為好的。如果你們要也可以留下Email我發(fā)給你們。
暫時(shí)寫(xiě)這么多,有心得再來(lái)添加。