分かりやすく、使いやすく。

変数やオブジェクトの型を確認する方法

スポンサーリンク

Excel VBA で変数やオブジェクトの型を調べるには TypeName を使用します。 TypeName は引数に与えられたデータの方を文字列で返します。

  1. 数値など基本的なデータの型を確認するサンプル
  2. オブジェクトの型を確認するサンプル
  3. 初期化していない変数は Empty になる


数値など基本的なデータの型を確認するサンプル

基本的なデータの型を調べるをサンプルコードは次の通りです。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Sub test()
  Dim intA
  Dim strB
  Dim blnC
  
  intA = 5
  strB = "5"
  blnC = False
  
  Debug.Print TypeName(intA)
  Debug.Print TypeName(strB)
  Debug.Print TypeName(blnC)
 
  '値からデータ型を直接確認することもできる
  Debug.Print TypeName(123)
  Debug.Print TypeName("123")
  Debug.Print TypeName(True)
End Sub 

実行結果は次の通りです。

実行結果(イミディエイト ウインドウの表示内容)
1
2
3
4
5
6
Integer
String
Boolean
Integer
String
Boolean 

オブジェクトの型を確認するサンプル

オブジェクトの型を調べるサンプルコードは次の通りです。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
 
Sub test()
  Dim objBook
  Dim objSheet
  Dim objRange
  Dim objCells
  
  Set objBook = ThisWorkbook
  Set objSheet = objBook.Worksheets(1)
  Set objRange = objSheet.Range("A1:B3")
  
  Debug.Print TypeName(objBook)
  Debug.Print TypeName(objSheet)
  Debug.Print TypeName(objRange)
End Sub 

実行結果は次の通りです。

実行結果(イミディエイト ウインドウの表示内容)
1
2
3
Workbook
Worksheet
Range 

初期化していない変数は Empty になる

宣言だけして代入していない変数の場合、 TypeName は Empty という文字列を返します。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
 
Sub test()
  Dim intA
  Dim strB
  Dim blnC
  
  '代入していない場合は Empty
  Debug.Print TypeName(intA)
  Debug.Print TypeName(strB)
  Debug.Print TypeName(blnC)
End Sub 

実行結果は次の通りです。

実行結果(イミディエイト ウインドウの表示内容)
1
2
3
Empty
Empty
Empty 
スポンサーリンク