VARIANT 資料類型
Variant 資料類型是未明確宣告為其他某些類型 (使用 Dim、Private、Public 或 Static 等陳述式) 之所有變數的資料類型。
Variant 資料類型沒有類型宣告字元。
Variant 是特殊的資料類型,它可以包含固定長度 String 資料之外的各種資料。 (Variant 類型現在支援使用者定義類型)。Variant 也可以包含特殊值:Empty、Error、Nothing 及 Null。 您可以使用 VarType 函數或 TypeName 函數來判斷該如何處置 Variant 中的資料。
使用 VarType 函數來測試 Variant 中存放的資料是哪種類型。
負數值的數值資料可以是介於 -1.797693134862315E308 到 -4.94066E-324 之間的任何整數或實數值;正數值則是介於 4.94066E-324 到 1.797693134862315E308 之間。
一般而言,數值的 Variant 資料會保留在 Variant 之內的原始的資料類型中。 例如,如果您將 Integer 指派給 Variant,後續作業會將 Variant 視為 Integer。 不過,如果您針對包含 Byte、Integer、Long 或 Single 的 Variant 執行算數運算,且結果超出原始資料類型的正常範圍,系統會將 Variant 內的結果提升到下一個較大的資料類型。 Byte 會提升為 Integer、Integer 會提升為 Long,而 Long 和 Single 則會提升為 Double。
當含有 Currency、Decimal 及 Double 值的 Variant 變數超過各自的範圍時,錯誤便會發生。
使用 Variant 資料類型來代替任何資料類型,以用更有彈性的方法運用資料。 如果 Variant 變數的內容是數字,它們可能是數字的字串表示或實際值,視內容而定。 例如:
Dim MyVar As Variant
MyVar = 98052
在上述範例中,MyVar
包含數值表示 — 實際值 98052
。 對於包含可轉譯為數值之數值或字串資料的 Variant 變數,算數運算子能發揮正常作用。 如果您使用 + 運算子將 MyVar
加入另一個含有數值的 Variant 或數值類型的變數,結果將會是算術總和。
Empty 值代表尚未初始化 (已指派初始值) 的 Variant 變數。 如果將含有 Empty 的 Variant 用在數字內容中,它會是 0;如果用在字串內容中,它會是零長度字串 ("")。
請勿將 Empty 與 Null 混淆。 Null 代表故意不含有效資料的 Variant 變數。
在 Variant 中,Error 是用來指出程序中發生錯誤情況的特殊值。 不過,這裡的錯誤情況不像其他種類的錯誤,一般的應用程式層級錯誤處理並不會發生。 這可讓您或應用程式本身根據錯誤值來採取某些替代動作。 Error 值會在您使用 CVErr 函數將實數轉換為錯誤值時建立。
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。