データ型とは、どんなデータを格納できるか(メモリ上でどれくらいのサイズを使用し、メモリ上のビットで表現されるデータをどう解釈するか)、そのデータに対してどのような操作(演算)が出来るかを伝えるものです。
例えば数値型のデータ型であれば、
- どれくらいの範囲の数値を表現できるか
- 四則演算が可能か
- オーバーフローが起きる範囲はどこか
- 精度はどの程度か
といった特性が決まります。
目次
数値型
数値型は、数値データを扱うための型です。さらに「整数型」「浮動小数型」「固定小数型」に分かれます。
整数型
整数型は、小数を含まない数値を扱います。
| 分類 | データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|---|
| 数値 | Byte | 1 | 0 ~ 255 | 小さな正整数 |
| 数値 | Integer | 2 | -32,768 ~ 32,767 | 小さな整数 |
| 数値 | Long | 4 | 約 ±21億 | 行番号・カウンタ |
浮動小数型
小数を扱う型ですが、内部的には2進数で表現されるため、誤差が発生する可能性があります。
| 分類 | データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|---|
| 数値 | Single | 4 | 約 ±3.4E38 | 単精度小数 |
| 数値 | Double | 8 | 約 ±1.7E308 | 倍精度小数(推奨) |
固定小数型
固定小数型は、内部的に「整数 × 一定倍率」で管理されます。Currencyは内部的に「整数 × 10,000」で保持されるため、
浮動小数点誤差が発生しにくく、金額計算に適しています。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| Currency | 8 | 小数点以下4桁固定 | 固定小数点型。金額計算 |
文字列型
文字列型はテキストを扱うための型です。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| String | 可変 | 任意の文字列 | テキストデータ |
論理型
条件判定に使用される型です。True / False の2値のみ。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| Boolean | 2 | True / False | 条件判定 |
日付型
日付や時刻を扱う型です。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| Date | 8 | 日付・時刻 | 日付計算 |
汎用型
あらゆる型を保持できる柔軟な型です。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| Variant | 16以上 | あらゆる型を保持 | 汎用処理 |
オブジェクト型
Excelオブジェクトを扱う型です。
| データ型 | バイト数 | 値の範囲・内容 | 主な用途 |
|---|---|---|---|
| Object | 参照 | 任意のオブジェクト | 汎用参照 |
| Range | 参照 | セル範囲 | Excelセル操作 |
| Worksheet | 参照 | シート | シート操作 |
| Workbook | 参照 | ブック | ブック操作 |
基本的なデータ型
| データ型 | 値の範囲 |
|---|---|
| (Byte) | バイト型。0〜255の正の整数値を格納 |
| ブール型(Boolean) | TrueまたはFalseを格納 |
| 整数型(Integer) | -32768〜32767の整数値を格納 |
| 長整数型(Long) | -2147483648〜2147483647の整数値を格納 |
| 単精度浮動小数点数型(Single) | 小数点を含む数値を格納 -3402823E38〜-1.401298E-45(負の値) 1.401298E-45〜3402823E38(正の値) |
| 倍精度浮動小数点数型(Double) | 単精度浮動小数点数型より大きい小数点を含む数値を格納 -1.7976931348623E308〜-4.94065645841247E-324(負の値) 4.94065645841247E-324〜1.7976931348623E308(正の値) |
| 通貨型(Currency) | 15桁の整数部分と4桁の小数部分を持つ数値を格納 -922337203685477.5808〜922337203685477.5807 |
| 日付型(Date) | 日時を表す値を格納 西暦100年1月1日〜西暦9999年12月31日 |
| オブジェクト型(Object) | オブジェクトの参照を格納 |
| 文字列型(String) | 文字列を保存する |
| バリアント型(Variant) | すべてのデータ型を格納できる型 |
| データ型 | 値の範囲 |
|---|---|
| Byte | 0〜255の正の整数値を格納 |
| Integer | -32768〜32767の整数値を格納 |
| Long | -2147483648〜2147483647の整数値を格納 |
| Single(単精度浮動小数点数型) | 小数点を含む数値を格納 (負の値)-3402823E38〜-1.401298E-45 (正の値)1.401298E-45〜3402823E38 |
| Double(倍精度浮動小数点数型) | 単精度浮動小数点数型より大きい小数点を含む数値を格納 (負の値)-1.7976931348623E308〜-4.94065645841247E-324 (正の値)4.94065645841247E-324〜1.7976931348623E308 |
| Currency | 15桁の整数部分と4桁の小数部分を持つ数値を格納 -922337203685477.5808〜922337203685477.5807 |
| Decimal |
Decimal型
Currency(通貨)型
Currency型は15桁の整数部と4桁の小数部を表す固定小数点型です。内部的には10000倍された整数で保存います。お金の計算など誤差が許されないデータを扱うときに利用します。
扱える範囲は次の通りです。
922337203685477.5808〜922337203685477.5807
その他
Date型
Date型は日付と時刻を表すデータ型です。Date型を使うと日時の加算や減算などができます。
値の範囲は次の通りです。
西暦100年1月1日~9999年12月31日の日付と0:00:00~23:59:59の時刻
Dateリテラル