ray88’s diary

お仕事で困ったとき用の自分用の覚書

Excel VBA 整数か小数点ありか判定する

Int( ) 関数は整数に変換する関数のため、int ( )関数で変換する前後の値を比較して
 値が同じならば整数、相違する場合は少数点ありということになる。
■サンプルコード
呼び出し元プロシージャ

Sub 小数点有無チェック()
    Dim strResult As String    
    strResult = fncDecimalPoint(5)
    MsgBox "5は" & strResult    
    strResult = fncDecimalPoint(1.5)
    MsgBox "1.5は" & strResult
End Sub

小数点有無チェック部品のコード

Function fncDecimalPoint(targetVal As Variant) As String
'-----------------------------------------------
'機 能:整数か小数点ありかを確認し結果を返す
'引数1:チェック対象の数値
'戻り値:「整数」または「小数点あり」を返す
'-----------------------------------------------
If Int(targetVal) = targetVal Then
    fncDecimalPoint = "整数"
Else
    fncDecimalPoint = "小数点あり"
End If

出力結果