VBA是Excel的底層根本。只有明白使用最底層的東西,使用起來(lái)才能隨心所欲。對(duì)于多數(shù)讀者而言,由于未使用過(guò)VBA或者不具備計(jì)算機(jī)語(yǔ)言知識(shí),所以被VBA直白的語(yǔ)句所嚇倒。但是樓主可以肯定的告訴大家,VBA其實(shí)很簡(jiǎn)單,并且很實(shí)用。學(xué)會(huì)后,也會(huì)上癮;變化無(wú)窮,很有意思。
一般新的學(xué)者都有如下幾個(gè)問(wèn)題:
- 1.在哪編寫(xiě)或者查看我們的VBA代碼?
- 2.告訴Excel什么時(shí)候,怎么觸發(fā)我們的程序?
- 3.怎么編寫(xiě)我們的VBA代碼,怎么用代碼引用或者指定到我們的單元格或區(qū)域?
下面我以一個(gè)雙擊鼠標(biāo)后,觸發(fā):將兩個(gè)單元格的數(shù)值相加后賦值給第三個(gè)單元格。
Excel VBA使用方法
打開(kāi)一個(gè)Excel文件,鼠標(biāo)右擊下面的工作表(如sheet1)。選擇“查看代碼”,就可以打開(kāi)VBA編輯界面。
選擇如下圖所示的下拉菜單,選擇“worksheet”。
選擇如下圖所示的下拉菜單,選擇對(duì)應(yīng)的觸發(fā)模式。這里我們選擇BeforeDoubleClick,意思就是說(shuō):在本工作表鼠標(biāo)雙擊(之前),將觸發(fā)下面的代碼程序。(activate意思是說(shuō):在sheet表被選取的時(shí)候,就觸發(fā);Change意思是說(shuō):在這個(gè)模式下,只要sheet(工作表)發(fā)生變化,就將觸發(fā);Before Right Click是指在鼠標(biāo)右擊之前觸發(fā);SelectionChange是指在鼠標(biāo)焦點(diǎn)發(fā)生變化時(shí),觸發(fā)。)
選擇完成后,我們會(huì)看到下面出現(xiàn)了兩條代碼;這倆條代碼其實(shí)是在聲明一個(gè)函數(shù)。
將鼠標(biāo)放置在這兩行代碼之間,我們寫(xiě)上執(zhí)行語(yǔ)句:
Sheet1.Cells(1, 3) = Sheet1.Cells(1, 1) + Sheet1.Cells(1, 2)
其中:sheet1.cells(1,3)就是指第一行第三列的這個(gè)單元格;Sheet1.Cells(1, 1)就是指第一行第一列的這個(gè)單元格;Sheet1.Cells(1, 2)就是指第一行第二列的單元格。執(zhí)行語(yǔ)句的意思是:將cells(1,1)和cells(1,2)的值相加,并賦值給cells(1,3)
注意的是:寫(xiě)語(yǔ)句的時(shí)候,輸入法一定要是輸入字母的模式。要不然你的語(yǔ)句會(huì)報(bào)錯(cuò)。
然后點(diǎn)擊保存,回到Excel的原始界面。在cells(1,1)和cells(1,2)中輸入兩個(gè)數(shù)值。(樓主輸入的是:125895和78954)
注意看:現(xiàn)在的cells(1,3)數(shù)值是空的。
在sheet1的工作表中,雙擊你的鼠標(biāo)。你會(huì)發(fā)現(xiàn),cells(1,3)的值變成了cells(1,1)和cells(1,2)的和。(204849=125895+78954)
總結(jié):其實(shí)VBA主要是觸發(fā)和指定單元格。
1.觸發(fā)的原理其實(shí)很簡(jiǎn)單,大家可以選擇不同的觸發(fā)模式,試一下就知道是怎么回事了。
2.至于怎么指定到單元格,大家可以看看cells語(yǔ)句和Range語(yǔ)句。
補(bǔ)充說(shuō)明: VBA不需要過(guò)于復(fù)雜的VB語(yǔ)句。你只需要知道VB怎么寫(xiě)怎加減乘除,怎么使用IF語(yǔ)句,就可以滿足大部分的需求了。最后希望大家能夠駕馭VBA,順便送大家一句話:眼見(jiàn)為虛,耳聽(tīng)為虛,只有運(yùn)行才是硬道理。
注意事項(xiàng)
使用VBA時(shí),一定要保證你Excel的宏是啟用的。
為了維護(hù)Microsoft的權(quán)益,商業(yè)使用VBA時(shí),請(qǐng)使用合法的VBA項(xiàng)目合法證書(shū)。