Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


28964 / 76732 ←次へ | 前へ→

【53058】セルの表示形式の変更
質問  多摩川  - 07/12/13(木) 10:08 -

引用なし
パスワード
   こんにちは。
また質問させてください。

整数の場合は小数第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演算子のヘルプを読むと「浮動小数点数は整数に丸められます」とかかれており、これが原因だと思うのですが・・・
どのようにしたら良いのでしょうか?
ご教授願います。
0 hits

【53058】セルの表示形式の変更 多摩川 07/12/13(木) 10:08 質問
【53061】Re:セルの表示形式の変更 ハト 07/12/13(木) 10:55 発言
【53062】Re:セルの表示形式の変更 多摩川 07/12/13(木) 11:25 お礼

28964 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free