在之前的兩篇教程中,簡單介紹了 VBA 中變量的聲明和賦值以及基本語句。變量的聲明和賦值,通常是一個 VBA 過程的開始,也是最基本的部分。VBA 開發(fā)過程中,好的聲明方式和正確的賦值過程,是寫出準(zhǔn)確又高效代碼的根本。 本篇教程給大家介紹什么是 VBA 中的聲明以及基本語法,然后介紹多個數(shù)據(jù)類型的賦值方法。學(xué)習(xí)完本篇,可以開始嘗試寫一些基本的 VBA 代碼了。 什么是聲明變量在《VBA 變量》一文中介紹,變量是一個存儲數(shù)據(jù)的 VBA 代碼結(jié)構(gòu)。在代碼中,通過變量名獲取變量所代表的的值。而聲明變量,就是告訴 VBA,變量的名字和它所存儲的值的數(shù)據(jù)類型。 VBA 中聲明變量,有 4 種變量,它們是:
聲明語句的基本語法4 種類型的變量的聲明方法基本一致。他們的語法如下。 1.基本類型變量'語法2.通用變量聲明 Variant 類型變量時,如果忽略數(shù)據(jù)類型,默認(rèn)情況是 Variant 類型,因此下方兩種方式是相同的。 '語法3.數(shù)組'語法關(guān)于數(shù)組的聲明和賦值,將在數(shù)組一章中做詳細(xì)的介紹。 4.對象聲明對象時,一般有兩種方式。一種是前期綁定,即一開始就指定對象的類型;一種是后期綁定,即聲明時不指定對象類型,后期指定。 '語法關(guān)于對象的聲明和賦值,在對象一章中做更詳細(xì)的介紹。 在哪里寫聲明語句聲明變量,意思是在使用變量前,告訴 VBA,變量的名字和數(shù)據(jù)類型。因此,聲明變量的語句,必須寫在使用它的語句前。 錯誤寫法如果先于聲明語句前使用變量,VBA 會報「變量未定義」錯誤。 正確寫法Dim name As String如何聲明多個同類型變量通過以上部分的學(xué)習(xí),在寫多個同類型變量的聲明語句時,有人可能會按以下方式寫: '聲明兩個整數(shù)類型的 i、j 變量首先,以上寫法,語法上沒問題,不會出現(xiàn)錯誤。但是,這種方式聲明變量,Integer 類型只作為第二個 j 變量的數(shù)據(jù)類型。第一個變量,即 i 變量,它的數(shù)據(jù)類型時 Variant,并不是 Integer 類型。 因此,VBA 中不能合并聲明語句。正確的聲明方法如下: '第一種,按兩行寫聲明變量是必須的嗎準(zhǔn)確來講,VBA 中聲明變量不是必須的。也就是說,沒有聲明變量,而直接開始用,也沒有錯誤。 但是,不聲明變量,是一種不好的習(xí)慣,也常常會帶來很多錯誤。這也是為什么之前的教程中都沒有提到這點(diǎn)的原因。 不聲明變量典型弊端包括:
基于以上原因,強(qiáng)烈建議,每次使用變量,都要聲明其變量名和數(shù)據(jù)類型。 VBA 提供一個選項(xiàng),可以強(qiáng)制變量聲明,即在模塊頭部寫上以下語句: Option Explicit模塊中有以上語句時,如果未聲明變量而直接使用變量,VBA 會提示「變量未定義」錯誤,方便檢查代碼。 設(shè)置 VBA 編輯器變量聲明選項(xiàng)時,可以自動為每個模塊插入 基本類型變量的賦值基本類型變量是存儲單個值的變量,例如數(shù)字、文本、日期等。 VBA 中,給基本類型變量賦值,以 在實(shí)際開發(fā)中,給基本類型變量賦值時, 給基本類型變量賦值語法如下: '語法,兩種寫法相同賦值語句中, Dim birthday As Date一種特殊情況是, Dim i As IntegerVariant 類型變量的賦值我們知道 Variant 類型時通用類型,因此賦值很直接,沒有類型強(qiáng)制要求。Variant 類型變量第一次賦值后,可以繼續(xù)賦值其他類型數(shù)據(jù)。 '聲明變量(兩者相同)這里依然強(qiáng)調(diào),雖然 Variant 類型變量比較靈活,但是也有很多弊端,所以在實(shí)際開發(fā)中,不建議使用該類型,使用確切類型變量。 數(shù)組類型變量的賦值數(shù)組是可以存儲多個同類型元素的數(shù)據(jù)類型。聲明時一般指定其數(shù)據(jù)長度。給數(shù)組賦值時,一般使用每個元素的序號。 數(shù)組賦值基本語法如下: [數(shù)組名](元素序號) = [數(shù)據(jù)]下面看一下實(shí)際的實(shí)例。 '聲明數(shù)組以上是數(shù)組的基本賦值方式,關(guān)于數(shù)組的更多聲明和賦值方法,將在《數(shù)組》一章中詳細(xì)介紹。 對象類型變量的賦值VBA 中,對象是程序的一個元素,不同于基本類型數(shù)據(jù),它包括多個屬性和多個方法。例如,Excel 中工作簿、工作表、單元格、圖表等都是對象。 對象類型變量賦值時,不同于基本類型變量使用 如下是對象類型變量基本的賦值方法: Set [變量名] = [對象類型數(shù)據(jù)]下面看一下實(shí)際的用法。 '聲明工作表類型的對象由于對象可以包含多個屬性,因此 VBA 提供一種同時給多個屬性賦值的簡單方法。具體方法是對象多個屬性賦值語句,放置在 Dim sheet As Worksheet關(guān)于對象的更多聲明和賦值方法,將在《對象》一章中詳細(xì)介紹。 總結(jié)以上是 VBA 中最基本的變量聲明和賦值方法。聲明和賦值變量,是代碼的開始部分,需要熟練掌握。 不同類型變量,聲明和賦值方法做了簡單的介紹,除了以上介紹的,不同類型的變量有自己特點(diǎn),這些部分會在以后的教程詳細(xì)介紹。 關(guān)于變量聲明和賦值,還有幾個比較重要的知識點(diǎn),包括相關(guān)錯誤和局部、全局變量,這部分內(nèi)容將會做單獨(dú)的、詳細(xì)的介紹。 大家如果有問題,歡迎留言或私信,大家一起交流探討。 |
|
|