讀古今文學網 > 別怕,ExcelVBA其實很簡單 > 3.2 VBA裡的數據類型 >

3.2 VBA裡的數據類型

3.2.1 打醬油的故事

小A來到商店,「老闆,打一斤醬油。」

老闆:「……你拿菜籃子打醬油?」

離家不遠,五分鐘後。

「老闆,打醬油。」

「拿個小小的花椒油瓶,你真有才。」

第三次,提著水桶……

……

選不對容器,打不回醬油。菜籃子裝不了醬油;花椒油瓶裝不下一斤醬油;水桶很大,能裝醬油,但殺雞卻派上了牛刀……

3.2.2 走進Excel的商店

Excel就是一間「商店」,商店裡擺著各種各樣的數據,作為Excel的用戶,每天都在重複著打醬油的故事。

職工編號、職工姓名、身份證號、出生年月、聯繫電話等,都是在Excel裡天天打的醬油,如圖3-1所示。

圖3-1 Excel裡的數據

醬油是液體,麵條是固體,商店的老闆知道應該把誰放在桶裡,把誰放在紙箱裡。

在Excel裡,姓名、出生年月、基本工資這些不同的數據就像商店裡不同的商品,為了便於區分,Excel把它們分為不同的類型。如文本、日期、數值等。

面對這些不同類型的數據,編寫程序時,你得告訴Excel,應該選擇哪種類型的容器來保存它們,如圖3-2所示。

圖3-2 Excel裡的數據

3.2.3 VBA中有哪些數據類型

數據類型就是對同一類數據的統稱,如文本、日期、數值等。

VBA裡的數據類型有:字節型(Byte),整數型(Integer),長整數型(Long),單精度浮點型(Single),雙精度浮點型(Double),貨幣型(Currency),小數型(Decimal),字符串型(String),日期型(Date),布爾型(Boolean)等,如表3-1所示。

表3-1 VBA中的數據類型

數據類型存儲空間(字節)範圍描述Byte1保存0~255的整數Boolean2保存邏輯判斷的結果:True或FalseInteger2保存-2768~32767的整數Long4保存-2147483648~2147483647的整數Single4負值範圍:-3.402823E38~-1.401298E-45正值範圍:1.401298E-45~3.402823E38Double8負值範圍:-1.79769313486232E308~-4.94065645841247E-324正值範圍:4.94065645841247E-324~1.79769313486232E308Currency8數值範圍:-922337203685477.5808~922337203685477.5807Decimal14不含小數時:+/-79228162514264337593543950335包含小數時:+/-7.9228162514264337593543950335最小非零數字:+/-0.0000000000000000000000000001Date8日期範圍:100年1月1日~9999年12月31日時間範圍:0:00:00~23:59:59String(變長)10字節加字符串長度0到大約20億個字符String(定長)字符串長度1到大約65400個字符Object4對像變量,用來引用對像Variant(變體型)除了定長String數據及用戶定義類型外,可以包含任何種類的數據。如果是數值,最大可達Double的範圍;如果是字符,與變長String的範圍一樣用戶自定義每個元素的範圍與它本身的數據類型的範圍相同

不同的數據類型告訴Excel應該以什麼形式來保存它。

面對不同類型的數據,在編程時,應先告訴程序按什麼數據類型來保存或處理它,如圖3-3所示。

圖3-3 不同的數據使用不同的數據類型