Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

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

1970-1-1 08:00| 發(fā)布者: 未知| 查看: 6357| 評(píng)論: 0

Excel 2000是非常優(yōu)秀的電子表格軟件,在一些常用的統(tǒng)計(jì)報(bào)表中,如求最大值、最小值、平均值……,我們只需在需要輸出結(jié)果的活動(dòng)單元格(Activecell)中預(yù)埋計(jì)算公式即可,但對(duì)于一些比較復(fù)雜的情況,采用預(yù)埋計(jì)算公式的方法就無能為力了。這時(shí)我們必須用VBA(Visual Basic for Application)才能解決問題,用VBA可以將Excel 2000的應(yīng)用能力提高一個(gè)層次,下面通過一個(gè)實(shí)例向大家簡(jiǎn)單地介紹一下這方面的問題。


  這是一個(gè)比較簡(jiǎn)單的程序,其作用如下:我們?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

  簡(jiǎn)單說明如下:
 、貯ctiveCell.Formula = "=max(a1:a3)"

  ma = ActiveCell.Value
  Range("b4").Select
  ActiveCell.Formula = "=max(b1:b3)"
  mb = ActiveCell.Value
  上述語(yǔ)句的作用是從A1~A3、B1~B3活動(dòng)單元格取出各自的最大值并將其分別賦予變量ma、mb。

 、趍 = ma - mb
  Range("b4").Select
  If m > 0 Then
  ActiveCell.Formula = "大于零"
  ElseIf m = 0 Then
  ActiveCell.Formula = "等于零"
  Else
  ActiveCell.Formula = "小于零"
  End If

  上述語(yǔ)句的作用是先將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)魅力之所在.

最新評(píng)論

相關(guān)分類

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 08:32 , Processed in 0.080601 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部