|
こんにちは。
また質問させてください。
整数の場合は小数第1位まで表示でそれ以外はそのままの表示形式に変更したいと思っています。
変更前 変更後
0 0.0
1 1.0
12345 12345.0
1.23 1.23 (そのまま)
1.3E+03 1.3E+03 (そのまま)
そこで以下のようなコードを考えたました。
Sub test()
Dim i As Long
For i = 0 To 2
Debug.Print Selection.Offset(, i) Mod 1
If Selection.Offset(, i) Mod 1 = 0 Then
Selection.Offset(, i).NumberFormatLocal = "0.0"
Else
Selection.Offset(, i).NumberFormatLocal = "G/標準"
End If
Next i
End Sub
ワークシート関数のModでは 1.23 は 0.23 と得られるのですが、上記コードでは、0 が帰ってきます。
このため、予想通りの表示形式になりません。
Mod演算子のヘルプを読むと「浮動小数点数は整数に丸められます」とかかれており、これが原因だと思うのですが・・・
どのようにしたら良いのでしょうか?
ご教授願います。
|
|