@hiyohiyouOne2 (hiyohiyo One2)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Excel VBAで整数値は"0"、整数値は"数値.0"の形で返すVBA関数

解決したいこと

はじめまして。
はじめてのQiitaでの質問です。

Excel VBAで0は”0”、整数値は”数値.0”の形で返すVBA関数はありますか?
Format関数では"数値.000"となり、望んでいない形で返されます。
そこで、関数を組んで実現はできました。しかし、もっと短く記述したいという
要求があり質問させていただきました。
よければお教えください。

環境はOffice16を使用しています。

私が作成した関数


Function FormatNum(ByVal num As Single)
If num = 0 Then
        FormatNum = 0
    ElseIf num - Int(num) = 0 Then
        FormatNum = num & ".0"
    Else
        FormatNum = num
    End If
End Function
0 likes

3Answer

多分、↓こういうことだと思います。

Function FormatNum(ByVal num As Variant) As Variant
    FormatNum = Format(num, "#.0;-#.0;0;@")
End Function
使用例
Sub Macro1()
    Debug.Print FormatNum(0)
    Debug.Print FormatNum(1)
    Debug.Print FormatNum(-1)
    Debug.Print FormatNum("ABC")
End Sub

0
1.0
-1.0
ABC
1Like

回答くださった方。

返事が遅くなり申し訳ありません。

Format関数ではできないと思って避けていました。

解決への協力ありがとうございました。

また、何かあれば質問させていただきます。

0Like

Your answer might help someone💌