一、VBA變量
變量是用于保存在程序運(yùn)行過程中需要臨時保存的值或?qū)ο蟆>拖喈?dāng)于我們在操作工作表的時候插入的輔助單元格、輔助列或輔助表一樣。
同工作表的單元格一樣,變量可以接納很多種的數(shù)據(jù)類型,如其名,程序運(yùn)行后,變量的值是可以改變的。
如何定義變量?
定義變量可以使用Dim語句:
Dim 變量名 As 數(shù)據(jù)類型
變量名有一定的命名規(guī)則,這里我就不詳細(xì)說明了,需要提醒的是在程序的設(shè)計過程中,你可能會定義很多的變量,為了閱讀及修改程序的方便,你定義的變量名盡量能讓人一看就明白這個變量具體代表的是什么。在Dim語句中,我們可以不必聲明變量的數(shù)據(jù)類型,直接輸入“Dim 變量名”此時定義的變量將被指定為Variant類型。
但我們在程序設(shè)計的過程中,一般應(yīng)該明確數(shù)據(jù)的類型,這是一個好的編程習(xí)慣,因?yàn)橹付〝?shù)據(jù)類型后會提高程序的運(yùn)行速度。
我們可以在模塊中輸入“Option Explict”作為第一句語句來強(qiáng)制聲明所有變量。也可以點(diǎn)“工具——選項(xiàng)”,在選項(xiàng)對話框里勾選“要求聲明變量”。這樣,VBA在遇到?jīng)]有聲明的變量名稱,該語句將導(dǎo)致程序停止。
定義變量除了可以使用Dim語句外,比較常的還有:static語句,Private語句,Public語句。使用不同的語句定義的變量不同的是它們的作用作用域不同,具體為:
(1)如果在一個過程中包含了一個Dim或Static語句,此時聲明的變量作用域?yàn)榇诉^程,即本地變量。
(2)如果在一個模塊的第一個過程之前包含了Dim或Prvate語句,此時聲明的變量作用域?yàn)榇四K里所有的過程,也就是在此模塊里所有的過程都可以使用它,即模塊作用域下的變量;
(3)如果在一個模塊的第一個過程之前包含了Public語名,此時聲明的變量作用域?yàn)樗心K,即公有變量。
變量的作用域是指變量保留其值的這段時間,也稱為變量的生成周期,它決定變量可以用于哪個模塊或過程中。
給變量賦值
用等號(=)是VBA里的賦值運(yùn)算符。
比如我們把"大眾計算機(jī)學(xué)習(xí)網(wǎng)!"這個字符串賦給變量A,則直接輸入:
A="大眾計算機(jī)學(xué)習(xí)網(wǎng)!"
對了,你可以在立即窗口里試一下逐條輸入:
A="大眾計算機(jī)學(xué)習(xí)網(wǎng)!"
Mgbox A
二、VBA的常量
執(zhí)行過程時,變量的值會發(fā)生改變,所以我們稱它為“變量”,但有時候我們需要引用不會發(fā)生變化的數(shù)據(jù),這就是常量。常量聲明后,不以對它進(jìn)行再賦值。
聲明常量設(shè)定常量的值,需要用Const語句:
Const 常量名 As 數(shù)據(jù)類型 = 常量的值