VIP標(biāo)識(shí) 上網(wǎng)做生意,首選VIP會(huì)員| 設(shè)為首頁| 加入桌面| | 手機(jī)版| RSS訂閱
食品伙伴網(wǎng),關(guān)注食品安全,探討食品技術(shù)
 
當(dāng)前位置: 首頁 » 食品專題 » 辦公軟件-excel使用技巧 » 正文

第四課理解變量和變量的作用(2)

放大字體  縮小字體 發(fā)布日期:2006-06-16

4.4 變量

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

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

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

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

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

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

數(shù)據(jù)類型 存儲(chǔ)空間 數(shù)值范圍 Byte 1字節(jié) 0 - 255 Booleam 2字節(jié) True或者False Integer 2字節(jié) -32768 - 32767 Long(長整型) 4字節(jié) -2147483648 - 2147483647 Single 4字節(jié) 負(fù)值范圍:
-3.402823E38 - -1.401298E-45
正值范圍:
1.401298E-45 - 3.402823E38 Double 8字節(jié) 負(fù)值范圍:-1.79769313486232E308 - -494065645841247E-324
正值范圍:4.94065645841247E-324 - 1.79769313486232E308 Currency 8字節(jié) -922337203685477 - 922337203685477 Decimal 14字節(jié) 不包括小數(shù)時(shí):
+/-79228162514264337593543950335
包括小數(shù)時(shí):
+/7.9228162514264337593543950335 Date 8字節(jié) 1000年1月1日 - 9999年12月31日 Object 4字節(jié) 任何引用對(duì)象 String(長字符串) 10字節(jié)+1字節(jié)/字符 0 - 約20億 String(固定長度) 字符串的長度 1 - 約65400 Varient(數(shù)字) 16字節(jié) Double范圍內(nèi)的任何數(shù)值 Varient(文本) 22字節(jié)+1字節(jié)/字符 數(shù)據(jù)范圍和變長字符串相同

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

  作為ABV程序員,一個(gè)目標(biāo)是選擇需要存儲(chǔ)空間盡量小的數(shù)據(jù)類型來保存所需要的數(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語句創(chuàng)建變量(聲明變量)

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

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

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

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

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

  1)創(chuàng)建一個(gè)名為"顯示你的名字"的子程序.
  2)輸入以下代碼:
  Public Sub 顯示你的名字()
  Dim s名字 As String
  s名字 = Inputbox("請(qǐng)輸入你的名字:")
  Msgbox "你好"& s名字
  End Sub

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

  在Dim語句中不必提供數(shù)據(jù)類型.如果沒有數(shù)據(jù)類型,變量將被定義為Variant類型,因?yàn)閂BA中默認(rèn)的數(shù)據(jù)類型是Variant.你知道這一點(diǎn)后,最初的反應(yīng)也許是覺得應(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 變量命名的慣例

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

數(shù)據(jù)類型 短前綴 長前綴 Array a ary Boolean f bin Byte b bit Currency c cur Double d dbl Date/Time dt dtm/dat Integer i int Long l lng Object o obj Single sng String s str Variant v var

  表4-2 變量命名的前綴

  4.4.4 使用數(shù)組

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

  Dim array_name(n) As type (其中n是數(shù)組元素的個(gè)數(shù))

  例如,如果要?jiǎng)?chuàng)建保存10個(gè)學(xué)生名字的數(shù)組,可以用以下語句:
       Dim s學(xué)生名字(9) As Integer
  注意,括號(hào)中的數(shù)字是9而不是10.這是因?yàn)樵谀J(rèn)的情況下,第一個(gè)索引數(shù)字是0.數(shù)組在處理相似信息時(shí)非常有用.假設(shè)要處理15門考試成績,可以創(chuàng)建15個(gè)獨(dú)立的變量,這意味著要使用15個(gè)Dim語句。也可以創(chuàng)建一個(gè)數(shù)組來保存考試成績,具體如下:
  Dim s考試成績(14) As Integer
  聲明數(shù)組時(shí)的另一種方法是不給定大小。可以在程序運(yùn)行時(shí)定義其大小。通過創(chuàng)建動(dòng)態(tài)數(shù)組就可以做到。例如,你的程序要?jiǎng)?chuàng)建一表格,可以提示用戶輸入表格的行和列的數(shù)目。聲明動(dòng)態(tài)數(shù)組的語法如下:
  Dim dyn_array() As type
  對(duì)數(shù)組聲明后可以在程序運(yùn)行時(shí)用:ReDim語句指定數(shù)組的大小:
  ReDim dyn_array()(array_size)
  參數(shù)array_size代表數(shù)組的新大小。如果要保留數(shù)組的數(shù)值,請(qǐng)?jiān)赗eDim語句后使用保留字Preserve,具體語法如下:
  ReDim Preserve dyn_array(array_size)

  4.4.5 變量賦值

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

  程序清單4-4

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

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

 
[ 網(wǎng)刊訂閱 ]  [ 食品專題搜索 ]  [ ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ] [ 返回頂部 ]

 

 
推薦圖文
推薦食品專題
點(diǎn)擊排行
 
 
Processed in 0.014 second(s), 17 queries, Memory 0.88 M