4.5 使用常量
現在,你已經知道變量是存儲非靜態信息的存儲容器.當存儲靜態信息時可以創建常量.它可以供程序多次使用而且便于記憶.比如圓周率比3.1415926好理解得多.
要聲明常量并設置常量的值,需要使用const語句.常量聲明后,不能對它賦一個新的值.例如,假設需要聲明一個常量來保存銷項稅率,可以使用以下語句:
conet 銷項稅率 As Long = 0.17
通常常量聲明時用全大寫字母以區分變量.
4.6 作用域
到現在為止,已經學習了如何定義變量和常量,但是還不知道在何處定義.可以在兩個地方定義常量和變量:
過程中定義和在模塊頂部一個名為"通用聲明"的區域內定義.而且定義的位置就決定了租用域.
在過程中聲明,該變量只能在該過程中使用,其他過程中不能使用這個變量和常量,這中變量成為局部變量或過程級變量;在模塊頂部聲明的變量稱為模塊級變量,該變量在該模塊的所有過程中都可以使用。
還有一種等級的作用域稱為公共級。公共級變量可以在應用程序的任何過程中使用,不論過程和變量是否定義在一個模塊。這就使得公共級變量在使用中十分靈活,但是公共級變量在程序運行時一直保留在內存中,這樣就占用了系統資源。要創建公共級變量,可以用Public語句,具體語法如下:
Public variablename As datatype
要創建公共級常量,具體語法如下:
Public const CONSTANAME datatype = value
公共級變量或常量必須在模塊頂部的“通用聲明”區域中定義。
4.7 小結
本課的重點是變量和常量。在本課中你學會了如何創建變量來保存非靜態的數據。我們了解了VBA的數據類型,我們也學會了創建常量來保存靜態的數據。本課的最后部分我們學習了變量和常量的作用域。
4.8 疑難解答
1.如果希望在多個位置使用變量的數據,應該在何處定義該變量?
答:必須在模塊頂部的“通用聲明”區域內定義。對于模塊級變量用Dim語句,對于公共級變量用Public語句
2.模塊是否獨立于工作簿?
答:不,實際上模塊是工作簿的一部分,當保存工作簿時,對模塊所做的改變也同時保存下來.
3.為什么不應該將所有變量定義為Variant數據類型?
答:Variant類型的數據,占用較多的內存,并且影響應用程序的性能.