データ型の概要Data type summary

データ型は、保持できるデータの種類を決定する変数の特性です。A data type is the characteristic of a variable that determines what kind of data it can hold. データ型には、次の表で示されているもの、ユーザー定義型、およびオブジェクトに固有の型が含まれます。Data types include those in the following table as well as user-defined types and specific types of objects.

組み込みのデータ型を設定するSet intrinsic data types

次の表では、サポートされる データ型および記憶域のサイズと範囲を示します。The following table shows the supported data types, including storage sizes and ranges.

データ型Data type 記憶領域サイズStorage size 範囲Range
BooleanBoolean 2 バイト2 bytes True または FalseTrue or False
ByteByte 1 バイト1 byte 0 ~ 2550 to 255
CollectionCollection 不明Unknown 不明Unknown
Currency (スケーリングされた整数)Currency (scaled integer) 8 バイト8 bytes -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807-922,337,203,685,477.5808 to 922,337,203,685,477.5807
DateDate 8 バイト8 bytes 100 年 1 月 1 日 から 9999 年 12 月 31 日January 1, 100, to December 31, 9999
DecimalDecimal 14 バイト14 bytes +/-79,228,162,514,264,337,593,543,950,335 (小数点なし)+/-79,228,162,514,264,337,593,543,950,335 with no decimal point

+/-7.9228162514264337593543950335 (小数点以下 28 桁)+/-7.9228162514264337593543950335 with 28 places to the right of the decimal

+/-0.0000000000000000000000000001 (0 ではない最小の値)Smallest non-zero number is+/-0.0000000000000000000000000001
DictionaryDictionary 不明Unknown 不明Unknown
Double (倍精度浮動小数点数)Double (double-precision floating-point) 8 バイト8 bytes -1.79769313486231E308 から -4.94065645841247E-324 (負の値)-1.79769313486231E308 to -4.94065645841247E-324 for negative values

4.94065645841247E-324 から 1.79769313486232E308 (正の値)4.94065645841247E-324 to 1.79769313486232E308 for positive values
IntegerInteger 2 バイト2 bytes -32,768 〜 32,767-32,768 to 32,767
Long (Long 整数)Long (Long integer) 4 バイト4 bytes -2,147, 483,648 〜 2,147, 483,647-2,147,483,648 to 2,147,483,647
LongLong (LongLong 整数)LongLong (LongLong integer) 8 バイト8 bytes -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

64 ビット プラットフォームでのみ有効。Valid on 64-bit platforms only.
LongPtr (32 ビット システムでは Long 整数、64 ビット システムでは LongLong 整数)LongPtr (Long integer on 32-bit systems, LongLong integer on 64-bit systems) 32 ビット システムでは 4 バイト4 bytes on 32-bit systems

64 ビット システムでは 8 バイト8 bytes on 64-bit systems
-2,147,483,648 から 2,147,483,647 (32 ビット システム)-2,147,483,648 to 2,147,483,647 on 32-bit systems

-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 (64 ビット システム)-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 on 64-bit systems
ObjectObject 4 バイト4 bytes 任意の Object 参照Any Object reference
Single (単精度浮動小数点数)Single (single-precision floating-point) 4 バイト4 bytes -3.402823E38 から -1.401298E-45 (負の値)-3.402823E38 to -1.401298E-45 for negative values

1.401298E-45 から 3.402823E38 (正の値)1.401298E-45 to 3.402823E38 for positive values
String (可変長)String (variable-length) 10 バイト + 文字列の長さ10 bytes + string length 0 〜 約 20 億0 to approximately 2 billion
文字列型 (String) (固定長)String (fixed-length) 文字列の長さLength of string 1 〜 約 65,4001 to approximately 65,400
Variant (数値)Variant (with numbers) 16 バイト16 bytes 最大で Double の範囲までの任意の数値Any numeric value up to the range of a Double
バリアント型 (Variant) (文字)Variant (with characters) 22 バイト + 文字列長 (64 ビット システムでは 24 バイト)22 bytes + string length (24 bytes on 64-bit systems) 可変長 文字列型 と同じ範囲Same range as for variable-length String
ユーザー定義 (Type を使用)User-defined (using Type) 要素に必要な数Number required by elements 各要素の範囲は、そのデータ型の範囲と同じです。The range of each element is the same as the range of its data type.

配列を含む Variant には、配列だけの場合より 12 バイト余計に必要です。A Variant containing an array requires 12 bytes more than the array alone.

注意

すべてのデータ型の配列には、20 バイトと、配列次元ごとに 4 バイトと、データ自体が占めるバイト数が必要です。Arrays of any data type require 20 bytes of memory plus 4 bytes for each array dimension plus the number of bytes occupied by the data itself. データが占めるメモリは、データ要素の数と各要素のサイズを乗算して求めることができます。The memory occupied by the data can be calculated by multiplying the number of data elements by the size of each element.

たとえば、各 2 バイトの 4 個の Integer データ要素で構成される 1 次元配列のデータは、8 バイトを使用します。For example, the data in a single-dimension array consisting of 4 Integer data elements of 2 bytes each occupies 8 bytes. データに必要な 8 バイトとオーバーヘッドの 24 バイトを加えて、この配列に必要な総メモリは 32 バイトとなります。The 8 bytes required for the data plus the 24 bytes of overhead brings the total memory requirement for the array to 32 bytes. 64 ビット プラットフォームでは、SAFEARRAY は 24 ビット (それに加えてDim ステートメントごとに 4 バイト) 使用します。On 64-bit platforms, SAFEARRAY's take up 24-bits (plus 4 bytes per Dim statement). pvData メンバーは 8 バイト ポインターであり、8 バイト境界に揃える必要があります。The pvData member is an 8-byte pointer and it must be aligned on 8 byte boundaries.

注意

LongPtr は、32 ビット環境では Long に変換され、64 ビット環境では LongLong に変換されるので、実際のデータ型ではありません。LongPtr is not a true data type because it transforms to a Long in 32-bit environments, or a LongLong in 64-bit environments. LongPtr を使用して Declare ステートメントのポインター値とハンドル値を表す必要があり、このようにすると 32 ビットと 64 ビットの両方の環境で実行できる移植性の高いコードを作成できます。LongPtr should be used to represent pointer and handle values in Declare statements and enables writing portable code that can run in both 32-bit and 64-bit environments.

注意

文字列データの型の間の変換には、StrConv 関数を使用します。Use the StrConv function to convert one type of string data to another.

データ型を変換するConvert between data types

式を特定のデータ型に強制変換する次の関数の使用方法の例については、「データ型変換関数」をご覧ください。CBoolCByteCCurCDateCDblCDecCIntCLngCLngLngCLngPtrCSngCStrCVarSee Type conversion functions for examples of how to use the following functions to coerce an expression to a specific data type: CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CLngLng, CLngPtr, CSng, CStr, and CVar.

次の各関数については、それぞれのページをご覧ください。CVErrFixIntFor the following, see the respective function pages: CVErr, Fix, and Int.

注意

CLngLng は、64 ビット プラットフォームでのみ有効です。CLngLng is valid on 64-bit platforms only.

データ型を確認するVerify data types

データ型を確認するには、以下の関数をご覧ください。To verify data types, see the following functions:

CStr の戻り値Return values for CStr

| expression の値If expression is|CStr の戻り値CStr returns| |:-----------------|:-----------| |BooleanBoolean|True または False を含む文字列。A string containing True or False.| |DateDate|システムの短い日付形式の日付を含む文字列。A string containing a date in the short date format of your system.| |EmptyEmpty|長さ 0 の文字列 ("")。A zero-length string ("").| |ErrorError|Error という単語とエラー番号を含む文字列。A string containing the word Error followed by the error number.| |NullNull|実行時エラーA run-time error.| |その他の数値Other numeric|数字を含む文字列。A string containing the number.|

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.