VBA在Excel2000中的應(yīng)用一例

字號(hào):

Excel 2000是非常優(yōu)秀的電子表格軟件,在一些常用的統(tǒng)計(jì)報(bào)表中,如求值、最小值、平均值……,Examda提示只需在需要輸出結(jié)果的活動(dòng)單元格(Activecell)中預(yù)埋計(jì)算公式即可,但對(duì)于一些比較復(fù)雜的情況,采用預(yù)埋計(jì)算公式的方法就無能為力了。這時(shí)我們必須用VBA(Visual Basic for Application)才能解決問題,用VBA可以將Excel 2000的應(yīng)用能力提高一個(gè)層次,下面通過一個(gè)實(shí)例向大家簡單地介紹一下這方面的問題。
    這是一個(gè)比較簡單的程序,其作用如下:我們?cè)贏1~A3、B1~B3活動(dòng)單元格中分別輸入不同的數(shù)值,用鼠標(biāo)點(diǎn)擊“運(yùn)算”命令按鈕后,程序?qū)⒂肁1~A3活動(dòng)單元格中的值減去B1~B3活動(dòng)單元格中的值,如果運(yùn)算結(jié)果大于零則在B4活動(dòng)單元格中顯示“大于零”;如果運(yùn)算結(jié)果等于零則在B4活動(dòng)單元格中顯示“等于零”;如果運(yùn)算結(jié)果小于零則在B4活動(dòng)單元格中顯示“小于零”。
    VBA代碼如下:
    Private Sub CommandButton1_Click()
    Range("b4").Select
    ActiveCell.Formula = "=max(a1:a3)"
    ma = ActiveCell.Value
    Range("b4").Select
    ActiveCell.Formula = "=max(b1:b3)"
    mb = ActiveCell.Value
    m = ma - mb
    Range("b4").Select
    If m > 0 Then
    ActiveCell.Formula = "大于零"
    ElseIf m = 0 Then
    ActiveCell.Formula = "等于零"
    Else
    ActiveCell.Formula = "小于零"
    End If
    End Sub
    簡單說明如下:
    ①ActiveCell.Formula = "=max(a1:a3)"
    ma = ActiveCell.Value
    Range("b4").Select
    ActiveCell.Formula = "=max(b1:b3)"
    mb = ActiveCell.Value
    上述語句的作用是從A1~A3、B1~B3活動(dòng)單元格取出各自的值并將其分別賦予變量ma、mb。
    ②m = ma - mb
    Range("b4").Select
    If m > 0 Then
    ActiveCell.Formula = "大于零"
    ElseIf m = 0 Then
    ActiveCell.Formula = "等于零"
    Else
    ActiveCell.Formula = "小于零"
    End If
    上述語句的作用是先將ma-mb賦予變量m,然后選擇b4活動(dòng)單元格,接著對(duì)變量m的值進(jìn)行判斷:如m大于零則在b4活動(dòng)單元格顯示“大于零”;如m等于零則在b4活動(dòng)單元格顯示“等于零”;如m小于零則在b4活動(dòng)單元格顯示“小于零”。
    結(jié)論:
    通過這個(gè)實(shí)例我們可以看出:表面文章(字體、字型、大小、顏色、表格邊框、底紋……)由Excel 2000來完成,實(shí)質(zhì)內(nèi)容(運(yùn)算結(jié)果)由VBA來完成,考試大.從中我們或許能夠初步領(lǐng)略到VBA(Visual Basic for Application)嵌入式開發(fā)平臺(tái)魅力之所在.