VBAで
・数値(小数点あり)の整数部を取得
できます!
VBA関数である
・Int関数 または
・fix関数
により実現できます!
取得対象の数値(小数点あり)が
・”正“の整数の場合は、Int関数とfix関数の結果に違いは無い
です!
※”負“の整数(マイナスの整数)の場合に、違いが出ます。
VBAコード
ここでは例として
・”正“の整数(小数点あり)である「12.5」の整数部を取得
・”負“の整数(小数点あり)である「–12.5」の整数部を取得
します。
Option Explicit
Sub sample()
Dim targetNum As Double
'--------------------------
'"正"の整数(小数点あり)の場合
'--------------------------
'"正"の整数を指定
targetNum = 12.5
'正の整数の場合、Int関数とfix関数の結果に違いは無い
MsgBox ("正の整数である" & targetNum & "の場合" & vbCrLf & vbCrLf & _
"Int関数:" & Int(targetNum) & vbCrLf & _
"fix関数:" & Fix(targetNum))
'--------------------------
'"負"の整数(小数点あり)の場合
'--------------------------
'"負"の整数を指定
targetNum = -12.5
'負の整数の場合、Int関数とfix関数の結果に違いが出る
MsgBox ("負の整数である" & targetNum & "の場合" & vbCrLf & vbCrLf & _
"Int関数:" & Int(targetNum) & vbCrLf & _
"fix関数:" & Fix(targetNum))
End Sub
実行結果
数値(小数点あり)の整数部を取得できました。
●”正“の整数の場合
「Int関数」と「fix関数」の結果に違いはありませんでした。
●”負“の整数の場合
「Int関数」と「fix関数」の結果に違いがありました。
参考
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●Int関数とfix関数
●vbCrLf(改行を示す定数)