VBA的主要目的是什麼?不用說了你也知道,當然是處理數據

什麼是對象?什麼是集合?什麼是屬性?什麼是方法?什麼是事件?如何正確地表示它們?

VBA的主要目的是什麼?不用說了你也知道,當然是處理數據

這些,你都能回答了嗎?

先沉思三秒鐘,如果你不能回答,那請趕快回過頭去,再看一遍,我們說VBA是採用面向對象的程序設計方式,這些都是很重要的概念,如果不弄清楚,實際應用時,你可能會感到手忙腳亂。

如果已經掌握了,那讓我們一起繼續本貼的內容。

這次,我們將繼續單調的基本功練習,講一些VBA裡面的關鍵字,為程序設計打下基礎,還是那句話,希望你不要嫌內容的單調,一口你永遠也吞不下一個大胖子,學習是一個循序漸進的過程。

數據類型、變量、常量、數組

VBA的主要目的是什麼?不用說了你也知道,當然是處理數據。某些數據存在於對象中,如工作表的單元格區域裡,某些數據存在於我們自定義的變量中。

1、數據類型

數據類型告訴計算機如何將數據存儲在內存中,如以整數、字符串、日期等。

數據類型是變量的特性,數據類型包括:

VBA的主要目的是什麼?不用說了你也知道,當然是處理數據

2、變量

變量是用於保存在程序運行過程中需要臨時保存的值或對象。就相當於我們在操作工作表的時候插入的輔助單元格、輔助列或輔助表一樣。

同工作表的單元格一樣,變量可以接納很多種的數據類型,如其名,程序運行後,變量的值是可以改變的。

如何定義變量?

定義變量可以使用Dim語句:

Dim 變量名 As 數據類型

變量名有一定的命名規則,這裡我就不詳細說明了,需要提醒的是在程序的設計過程中,你可能會定義很多的變量,為了閱讀及修改程序的方便,你定義的變量名儘量能讓人一看就明白這個變量具體代表的是什麼。在Dim語句中,我們可以不必聲明變量的數據類型,直接輸入“Dim 變量名”此時定義的變量將被指定為Variant類型。

但我們在程序設計的過程中,一般應該明確數據的類型,這是一個好的編程習慣,因為指定數據類型後會提高程序的運行速度。

我們可以在模塊中輸入“Option Explict”作為第一句語句來強制聲明所有變量。也可以點“工具——選項”,在選項對話框裡勾選“要求聲明變量”。這樣,VBA在遇到沒有聲明的變量名稱,該語句將導致程序停止。

定義變量除了可以使用Dim語句外,比較常的還有:static語句,Private語句,Public語句。使用不同的語句定義的變量不同的是它們的作用作用域不同,具體為:

(1)如果在一個過程中包含了一個Dim或Static語句,此時聲明的變量作用域為此過程,即本地變量

(2)如果在一個模塊的第一個過程之前包含了Dim或Prvate語句,此時聲明的變量作用域為此模塊裡所有的過程,也就是在此模塊裡所有的過程都可以使用它,即模塊作用域下的變量;

(3)如果在一個模塊的第一個過程之前包含了Public語名,此時聲明的變量作用域為所有模塊,即公有變量

變量的作用域是指變量保留其值的這段時間,也稱為變量的生成周期,它決定變量可以用於哪個模塊或過程中。

給變量賦值

用等號(=)是VBA裡的賦值運算符。

比如我們把"我在學習VBA變量!"這個字符串賦給變量A,則直接輸入:

A="我在學習VBA變量!"

對了,你可以在立即窗口裡試一下逐條輸入:

A="我在學習VBA變量!"

Mgbox A

看一下效果。

注意,在VBA裡文本是要用英語引號引起來的,還有日期要用#號,比如將日期2009-3-10賦給變量A,則為:

A=#2009-3-10#

3、常量

執行過程時,變量的值會發生改變,所以我們稱它為“變量”,但有時候我們需要引用不會發生變化的數據,這就是常量。常量聲明後,不以對它進行再賦值。

聲明常量設定常量的值,需要用Const語句:

Const 常量名 As 數據類型 = 常量的值

4、數組

除了變量和常量以外,數組也是我們常用到的。

什麼是數組?

數組是具有相同數據類型並且共享一個名字的一組變量的集合。數組也是變量。

數組中的元素通過索引數字加以區分。

可以用Dim語句或者Public語句聲明數組。

Dim/Public 數組名 (a to b) as 數據類型

a 和b 是數組中元素的個數,數組元素素最小值為a,最大值為b,元素個數為(b-a+1)個,當然,你也可以直接輸入個數,此時默認最小索引號為0。

如: Dim myarr(5) As Integer

這個數組的最小元素索引號為0,元素個數為6。

上面定義的只是一維數組,你還可以定義二維、三維、四維…….

如: Dim myarr(1 to 5,1 to 10) As Integer

這就是一個二維數組,元素個數為5*10=50個。

在程序設計的過程中,定義數組的時候我們可能不能確定數組的元素個數,對數組進行聲明後,可以在運行時用ReDim語句重新指定數組的大小。

今天的這一部分內容實在很枯燥,都有點耐不住了,拉拉雜雜說了這麼多,也不知道你看出點門道沒?同前講的內容一樣,這些基礎都是非常重要的,多讀幾遍,紮好馬才能修練更高深的武功,千萬別嫌這個過程的漫長。

一個讓你心儀的女孩子,想牽上她的小手,徜徉在公園裡的林蔭小道上,先前的送花、打電話等等那一串串巴結的行動你會不會嫌太漫長?

VBA不像函數那樣直面我們,它躲在Excel的背後,像一個“養在深閨未得見”的美麗姑娘,她飄在牆角的那縷模糊卻美麗的身影對我們充滿了誘惑,現在我們正在想法設法尋找她的聯繫電話,要想成功俘虜她,這一步能少嗎?

看的沒有動的快,動手操作才是學習的正確方法。發現問題,解決問題,這豈不是一個快樂的過程。

VBA的主要目的是什麼?不用說了你也知道,當然是處理數據


分享到:


相關文章: