HOME > 即効テクニック > Excel VBA > その他関連のテクニック > 変数の宣言を簡略化する−DefType

即効テクニック

その他関連のテクニック

変数の宣言を簡略化する−DefType

(Excel 97/2000)
DefTypeステートメントを用いると、ある程度変数の宣言を簡略化できます。
例えば、今までInteger型の変数に"intABC"、のようにデータ型をあらわすような変数命名規則を用いていたような場合にはサンプルのような形にすると変数の宣言を簡略化できます。
'=============================================
'モジュールレベル変数

DefInt I    'Integer
DefLng L    'Long
DefBool B   'Boolean
DefStr S    'String
DefObj W    'Object総称型
DefVar V    'Variant

'※DefInt A-E のようにするとAからEの範囲で指定できます。

'※通常どおりの宣言方法でAs 以下でデータ型を指定すると
' DefTypeステートメントの指定にかかわらず指定のデータ型
' になります。
'※DefTypeステートメントはモジュールレベルでのみ有効
'=============================================

Private Sub CommandButton1_Click()

Dim intTemp, blnTemp, strTemp, WB, WS, var1, var2
Dim MSG As String

intTemp = 100
blnTemp = True
strTemp = "Excel!"
Set WB = ActiveWorkbook
Set WS = ActiveSheet
var1 = 100
var2 = "OFFICE"

MSG = intTemp & " : " & TypeName(intTemp) & vbCrLf
MSG = MSG & blnTemp & " : " & TypeName(blnTemp) & vbCrLf
MSG = MSG & strTemp & " : " & TypeName(strTemp) & vbCrLf
MSG = MSG & WB.Name & " : " & TypeName(WB) & vbCrLf
MSG = MSG & WS.Name & " : " & TypeName(WS) & vbCrLf
MSG = MSG & var1 & " : " & TypeName(var1) & vbCrLf
MSG = MSG & var2 & " : " & TypeName(var2) & vbCrLf

MsgBox MSG

End Sub

※サンプルの実行結果は順に・・・

Integer Boolean String Workbook Worksheet Integer String

'=============================================
DefTypeステートメントの一覧
'=============================================

DefBool           ブール型 (Boolean) 
DefByte           バイト型 (Byte) 
DefInt            整数型 (Integer) 
DefLng            長整数型 (Long) 
DefCur            通貨型 (Currency) 
DefSng            単精度浮動小数点数型 (Single) 
DefDbl            倍精度浮動小数点数型 (Double) 
DefDate           日付型 (Date) 
DefStr            文字列型 (String) 
DefObj            オブジェクト型 (Object) 
DefVar            バリアント型 (Variant)