まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】データ型を調べて結果を数値で返すVarType関数の使い方を教えて!

       f:id:m_kbou:20190614082051p:plain

VarType関数は、使用しているデータの型を調べ、結果を数値で返します。使い方について説明します。

 

【目次】

 

構文

VarType関数の記述方法は、以下の通りとなります。

=======================================================================

VarType([値]

=======================================================================

[説明]:

[値]には、データ型を調べる数値や文字を記述します。内容を纏めると、「[値]で入力したデータの型を調べ、結果を数値で返して下さい。」との意味になります。返ってきた値に対する型内容は、以下一覧の通りとなります。

f:id:m_kbou:20190614082108p:plain

[記述例]:

VarType(10)
VarType(3.14)
VarType(#10/23/2019#)
VarType(”テスト”)

 

使い方

使い方について、幾つかの型を例にあげて説明していきます。

整数型の場合

データ型が整数型の場合について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox VarType(10)
End Sub

-------------------------------------------------

内容は、「数値:10のデータ型を数値で返し、結果をMsgBoxで表示して下さい。」との意味になります。

[実行例]:

値:2が返ってきたため、「整数型」である事がわかります。

f:id:m_kbou:20190614082128p:plain

データ型が整数型の場合の説明は以上です。

 

長整数型の場合

データ型が長整数型の場合について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox VarType(100000)
End Sub

-------------------------------------------------

内容は、「数値:100000のデータ型を数値で返し、結果をMsgBoxで表示して下さい。」との意味になります。

[実行例]:

値:3が返ってきたため、「長整数型」である事がわかります。

f:id:m_kbou:20190614082141p:plain

データ型が長整数型の場合の説明は以上です。

 

倍精度浮動小数点数型の場合

データ型が倍精度浮動小数点数型の場合について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox VarType(3.14)
End Sub

-------------------------------------------------

内容は、「数値:3.14のデータ型を数値で返し、結果をMsgBoxで表示して下さい。」との意味になります。

[実行例]:

値:5が返ってきたため、「倍精度浮動小数点数型」である事がわかります。

f:id:m_kbou:20190614082155p:plain

データ型が倍精度浮動小数点数型の場合の説明は以上です。

 

日付型の場合

データ型が日付型の場合について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox VarType(#10/23/2019#)
End Sub

-------------------------------------------------

内容は、「日付:2019/10/23のデータ型を数値で返し、結果をMsgBoxで表示して下さい。」との意味になります。

[実行例]:

値:7が返ってきたため、「日付型」である事がわかります。

f:id:m_kbou:20190614082207p:plain

データ型が日付型の場合の説明は以上です。

 

文字列型の場合

データ型が文字列型の場合について説明します。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。

-------------------------------------------------

Sub サンプル()
    MsgBox VarType("テスト")
End Sub

-------------------------------------------------

内容は、「文字:”テスト”のデータ型を数値で返し、結果をMsgBoxで表示して下さい。」との意味になります。

[実行例]:

値:8が返ってきたため、「文字列型」である事がわかります。

f:id:m_kbou:20190614082219p:plain

データ型が文字列型の場合の説明は以上です。

 

おわりに

今回は、VarType関数について説明しました。上記の事例では、値に直接数値や文字を入力したため、戻り値が比較的容易に推測できたと思います。しかし、実際のプログラミングでは、この値の箇所に変数を指定する事で、戻り値を調べるケースが多くなると思います。是非実践で活用してみて下さい。