久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

VBA系列講座(4):理解變量

 高高 2007-07-13
VBA系列講座(4):理解變量   
 

4.4 變量

  變量是用于臨時(shí)保存數(shù)值的地方.每次應(yīng)用程序運(yùn)行時(shí),變量可能包含不同的數(shù)值,而在程序運(yùn)行時(shí),變量的數(shù)值可以改變.

  為了說(shuō)明為什么需要變量,可以按照如下步驟創(chuàng)建一個(gè)簡(jiǎn)單的過(guò)程:

  1)創(chuàng)建一個(gè)名為"你叫什么名字"的過(guò)程.
  2)在過(guò)程中輸入如下代碼:
  Inputbox "輸入你的名字:"
  現(xiàn)在不要擔(dān)心inputbox語(yǔ)句的語(yǔ)法,將在第六學(xué)時(shí)中了解到有關(guān)這條命令的更多信息.
  3)按下F5鍵運(yùn)行過(guò)程,這時(shí)會(huì)顯示一個(gè)輸入框,要求輸入你的名字.
  4)輸入你的名字并按"確定"按鈕,則結(jié)束該過(guò)程.

  你輸入的名字到那里去了?如何找到用戶在輸入框中輸入的信息?在這種情況下,需要使用變量來(lái)存儲(chǔ)用戶輸入的結(jié)果.

  4.4.1 變量的數(shù)據(jù)類型

  使用變量的第一步是了解變量的數(shù)據(jù)類型.變量的數(shù)據(jù)類型控制變量允許保存何種類型的數(shù)據(jù).表4-1列出了VBA支持的數(shù)據(jù)類型,還列出了各種類型的變量所需要的存儲(chǔ)空間和能夠存儲(chǔ)的數(shù)值范圍.

 表4-1 VBA數(shù)據(jù)類型

  作為ABV程序員,,一個(gè)目標(biāo)是選擇需要存儲(chǔ)空間盡量小的數(shù)據(jù)類型來(lái)保存所需要的數(shù)據(jù),這正是表4-1提供各種數(shù)據(jù)類型存儲(chǔ)空間的原因,。例如,要保存諸如班級(jí)學(xué)生總數(shù)這樣的小數(shù)字,那么Byte數(shù)據(jù)類型就足夠了,。在這種情況下,使用Single數(shù)據(jù)類型只是對(duì)計(jì)算機(jī)存儲(chǔ)空間的浪費(fèi),。

  4.4.2 用Dim語(yǔ)句創(chuàng)建變量(聲明變量)

  現(xiàn)在,你對(duì)變量可以使用的數(shù)據(jù)類型已經(jīng)比較熟悉了,以下我們將創(chuàng)建變量.創(chuàng)建變量可以使用Dim語(yǔ)句,創(chuàng)建變量通常成為"聲明變量" Dim語(yǔ)句的基本語(yǔ)法如下:

  Dim 變量名 AS 數(shù)據(jù)類型

  這條語(yǔ)法中的變量名代表將要?jiǎng)?chuàng)建的變量名.對(duì)變量的命名規(guī)則和對(duì)過(guò)程的命名規(guī)則相同.這條語(yǔ)句中的數(shù)據(jù)類型部分可以是表4-1中的任何一種數(shù)據(jù)類型.

  變量名必須以字母開始,并且只能包含字母數(shù)字和特定的特殊字符,不能包含空格句號(hào)驚嘆號(hào),也不能包含字符@ & $ #.名字最大長(zhǎng)度為255個(gè)字符

  在接下來(lái)的練習(xí)中將說(shuō)明如何在VBA中使用變量,你將要輸入你的名字,并用一個(gè)消息框?qū)⑵滹@示出來(lái).具體步驟如下:

  1)創(chuàng)建一個(gè)名為"顯示你的名字"的子程序.
  2)輸入以下代碼:

  Public Sub 顯示你的名字()
  Dim s名字 As String
  s名字 = Inputbox("請(qǐng)輸入你的名字:")
  Msgbox "你好"& s名字
  End Sub

  3)將鼠標(biāo)放到過(guò)程中的任何地方,按下F5鍵運(yùn)行過(guò)程,會(huì)顯示一個(gè)輸入框.
  4)輸入你自己的名字并按回車鍵,會(huì)顯示一個(gè)消息框,顯示的文字中包含你自己的名字.
  5)單擊"確定"按鈕,返回過(guò)程中.

  在Dim語(yǔ)句中不必提供數(shù)據(jù)類型.如果沒(méi)有數(shù)據(jù)類型,變量將被定義為Variant類型,因?yàn)閂BA中默認(rèn)的數(shù)據(jù)類型是Variant.你知道這一點(diǎn)后,最初的反應(yīng)也許是覺(jué)得應(yīng)該不用自己決定數(shù)據(jù)類型,而將一切拋給VBA.這種觀念是完全錯(cuò)誤的.你必須決定選擇使用何種數(shù)據(jù)類型,。因?yàn)閂ariant數(shù)據(jù)類型占用存儲(chǔ)空間較大(16或22字節(jié))而且它將影響程序的性能。VBA必須辨別Variant類型的變量中存儲(chǔ)了何種類型的數(shù)據(jù),。

  4.4.3 變量命名的慣例

  下表給出了推薦的變量命名慣例

    表4-2 變量命名的前綴

  4.4.4 使用數(shù)組

  如果你使用過(guò)其他編程序語(yǔ)言,可能對(duì)數(shù)組已經(jīng)比較熟悉了.數(shù)組是具有相同數(shù)據(jù)類型并共同享有一個(gè)名字的一組變量的集合.數(shù)組中的元素通過(guò)索引數(shù)字加以區(qū)分,定義數(shù)組的方法如下:
  Dim array_name(n) As type (其中n是數(shù)組元素的個(gè)數(shù))

  例如,如果要?jiǎng)?chuàng)建保存10個(gè)學(xué)生名字的數(shù)組,可以用以下語(yǔ)句:
  Dim s學(xué)生名字(9) As Integer

  注意,括號(hào)中的數(shù)字是9而不是10.這是因?yàn)樵谀J(rèn)的情況下,第一個(gè)索引數(shù)字是0.數(shù)組在處理相似信息時(shí)非常有用.假設(shè)要處理15門考試成績(jī),可以創(chuàng)建15個(gè)獨(dú)立的變量,這意味著要使用15個(gè)Dim語(yǔ)句,。也可以創(chuàng)建一個(gè)數(shù)組來(lái)保存考試成績(jī),具體如下:
  Dim s考試成績(jī)(14) As Integer

  聲明數(shù)組時(shí)的另一種方法是不給定大小,??梢栽诔绦蜻\(yùn)行時(shí)定義其大小。通過(guò)創(chuàng)建動(dòng)態(tài)數(shù)組就可以做到,。例如,,你的程序要?jiǎng)?chuàng)建一表格,可以提示用戶輸入表格的行和列的數(shù)目,。聲明動(dòng)態(tài)數(shù)組的語(yǔ)法如下:
  Dim dyn_array() As type

  對(duì)數(shù)組聲明后可以在程序運(yùn)行時(shí)用:ReDim語(yǔ)句指定數(shù)組的大?。?
  ReDim dyn_array()(array_size)

  參數(shù)array_size代表數(shù)組的新大小。如果要保留數(shù)組的數(shù)值,,請(qǐng)?jiān)赗eDim語(yǔ)句后使用保留字Preserve,具體語(yǔ)法如下:
  ReDim Preserve dyn_array(array_size)

  4.4.5 變量賦值

  聲明變量后就可以給變量賦值,。請(qǐng)注意下列語(yǔ)句中為數(shù)組變量賦值時(shí)索引數(shù)字的使用。

  程序清單4-4

  Dim i人數(shù) As Integer
  Dim i考試成績(jī) As Integer
  Dim i As Integer

  i人數(shù) = inputbox("輸入學(xué)生的人數(shù):")
  ReDim Preserve i考試成績(jī)(i數(shù)量)
  For i = 1 to i人數(shù)
      i考試成績(jī)(i) = inputbox("輸入考試成績(jī)"& i )
  Next

4.5 使用常量

  現(xiàn)在,你已經(jīng)知道變量是存儲(chǔ)非靜態(tài)信息的存儲(chǔ)容器.當(dāng)存儲(chǔ)靜態(tài)信息時(shí)可以創(chuàng)建常量.它可以供程序多次使用而且便于記憶.比如圓周率比3.1415926好理解得多.

  要聲明常量并設(shè)置常量的值,需要使用const語(yǔ)句.常量聲明后,不能對(duì)它賦一個(gè)新的值.例如,假設(shè)需要聲明一個(gè)常量來(lái)保存銷項(xiàng)稅率,可以使用以下語(yǔ)句:
  conet 銷項(xiàng)稅率 As Long = 0.17
  通常常量聲明時(shí)用全大寫字母以區(qū)分變量.

4.6 作用域

  到現(xiàn)在為止,已經(jīng)學(xué)習(xí)了如何定義變量和常量,但是還不知道在何處定義.可以在兩個(gè)地方定義常量和變量:

  過(guò)程中定義和在模塊頂部一個(gè)名為"通用聲明"的區(qū)域內(nèi)定義.而且定義的位置就決定了租用域.

  在過(guò)程中聲明,該變量只能在該過(guò)程中使用,其他過(guò)程中不能使用這個(gè)變量和常量,這中變量成為局部變量或過(guò)程級(jí)變量,;在模塊頂部聲明的變量稱為模塊級(jí)變量,,該變量在該模塊的所有過(guò)程中都可以使用。

  還有一種等級(jí)的作用域稱為公共級(jí),。公共級(jí)變量可以在應(yīng)用程序的任何過(guò)程中使用,,不論過(guò)程和變量是否定義在一個(gè)模塊。這就使得公共級(jí)變量在使用中十分靈活,,但是公共級(jí)變量在程序運(yùn)行時(shí)一直保留在內(nèi)存中,,這樣就占用了系統(tǒng)資源。要?jiǎng)?chuàng)建公共級(jí)變量,可以用Public語(yǔ)句,,具體語(yǔ)法如下:
  Public variablename As datatype

  要?jiǎng)?chuàng)建公共級(jí)常量,,具體語(yǔ)法如下:
  Public const CONSTANAME datatype = value

  公共級(jí)變量或常量必須在模塊頂部的“通用聲明”區(qū)域中定義。

4.7 小結(jié)

  本課的重點(diǎn)是變量和常量,。在本課中你學(xué)會(huì)了如何創(chuàng)建變量來(lái)保存非靜態(tài)的數(shù)據(jù),。我們了解了VBA的數(shù)據(jù)類型,我們也學(xué)會(huì)了創(chuàng)建常量來(lái)保存靜態(tài)的數(shù)據(jù),。本課的最后部分我們學(xué)習(xí)了變量和常量的作用域,。

4.8 疑難解答

  1.如果希望在多個(gè)位置使用變量的數(shù)據(jù),應(yīng)該在何處定義該變量,?
  答:必須在模塊頂部的“通用聲明”區(qū)域內(nèi)定義,。對(duì)于模塊級(jí)變量用Dim語(yǔ)句,對(duì)于公共級(jí)變量用Public語(yǔ)句
  2.模塊是否獨(dú)立于工作簿?
  答:不,實(shí)際上模塊是工作簿的一部分,當(dāng)保存工作簿時(shí),對(duì)模塊所做的改變也同時(shí)保存下來(lái).

  3.為什么不應(yīng)該將所有變量定義為Variant數(shù)據(jù)類型?
  答:Variant類型的數(shù)據(jù),占用較多的內(nèi)存,并且影響應(yīng)用程序的性能.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多