VBA學(xué)習(xí)筆記(1)變量與常量

一、數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型 代碼 聲明字符 范圍描述
整數(shù)型 Integer % -32768~32767之間的整數(shù)
長(zhǎng)整數(shù)型 Long & -217473648~217473647之間的整數(shù)
單精度型 Single !
雙精度型 Double #
貨幣型 Currency @
日期型 Date
文本型 String $
布爾型 Boolean True 或 False
對(duì)象 Object 對(duì)象變量,用來(lái)引用對(duì)象

二、變量

  • 強(qiáng)制聲明變量
    方法一:
    在模塊中的第一句寫(xiě)下如下代碼:
Option Explicit

方法二:設(shè)置:
工具-選項(xiàng)-編輯器-勾選"要求變量聲明"

  • 變量類(lèi)型及作用域
類(lèi)型 作用域 描述 區(qū)別
本地變量 本過(guò)程中 在一個(gè)過(guò)程中,使用Dim或Static 在過(guò)程中聲明,不在過(guò)程前
模塊級(jí)變量 本模塊 第一個(gè)過(guò)程前,使用Dim或Private 在模塊的第一個(gè)過(guò)程前聲明
公共變量 所有模塊 在模塊的第一個(gè)過(guò)程前,使用Public聲明 在模塊的第一個(gè)過(guò)程前聲明
  • 聲明變量示例

1.本地變量

Option Explicit
sub 本地變量()
    Dim a as integer      'Dim 聲明在Sub 過(guò)程中,所以a為本地變量,作用域僅限于本過(guò)程
    Static B As Integer  'Static聲明在Sub 過(guò)程中,所以B為本地變量,作用域僅限于本過(guò)程
End sub  

2.模塊級(jí)變量

'以下代碼寫(xiě)在模塊中
Option Explicit
Dim a as integer      'Dim 聲明在第一個(gè)Sub 過(guò)程前,所以a為模塊級(jí)變量,作用域在本模塊
Private B As Integer  'Private聲明在第一個(gè)Sub 過(guò)程前,所以B為模塊級(jí)變量,作用域在本模塊

sub 本地變量
    Msgbox "你好!"
End sub  

3.公共變量

'以下代碼寫(xiě)在模塊中
Option Explicit
Public a as integer      'Public 聲明在第一個(gè)Sub 過(guò)程前,所以a為公共變量,作用域在該Workbook的所有模塊
Sub 本地變量
    Msgbox "你好!"
End sub  
  • 把數(shù)據(jù)存儲(chǔ)到變量里
    把數(shù)據(jù)存儲(chǔ)到變量里,稱(chēng)為給變量賦值
    1.給數(shù)值\日期\文本等數(shù)據(jù)變量賦值用等號(hào)"="
Sub text
   Dim Str as string    '聲明str變量為string型
   Let Str="你好! "        '給變量str 賦值,"Let"通常省略不寫(xiě)
   Range("A1")=Str       '將變量值寫(xiě)入活動(dòng)工作表的A1單元格
End sub

2.給對(duì)象變量賦值:必須用Set

Sub text
  Dim Rng as Range
  set rng = worksheets("sheet1").range("A1")
  rng.value="你好!"     ' ".Value"通常也省略不寫(xiě)
End Sub

三.常量

  • 常量用一存儲(chǔ)一些固定的,不會(huì)被修改的值,如圓周率,個(gè)人所得稅率等
  • 常量也需要聲明(名稱(chēng)\數(shù)據(jù)類(lèi)型),并且要賦值,且在賦值后不能再次賦值
  • 常量用Const 變量名 As 數(shù)據(jù)類(lèi)型 = 數(shù)值的格式賦值
sub text
  const P as single = 3.14
  Range("a1") = P
end sub
  • 常量的作用域
    常量的作用域同變量一樣,可用于sheets中,也可寫(xiě)在模塊中
類(lèi)型 作用域 描述 區(qū)別
本地變量 本過(guò)程中 在一個(gè)過(guò)程中,使用Const 在過(guò)程中聲明,不在過(guò)程前
模塊級(jí)變量 本模塊 第一個(gè)過(guò)程前,使用Const 在模塊的第一個(gè)過(guò)程前聲明,跟變量不一樣,不能用Private聲明
公共變量 所有模塊 在模塊的第一個(gè)過(guò)程前,使用Public聲明 在模塊的第一個(gè)過(guò)程前聲明
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容