2017-02-03 12 views
0

数値をパーセント形式で返す関数を作成したいと考えています。関数をパーセントで返すにはどうすればよいですか?

例:

Function variation (fv as long, pv as long) as long 
    variation = (fv/pv) - 1 
End Function 

私はすでになく、成功事例のなしで、この二つの方法で試してください(0.00%)私はパーセントで値を返すことができるかどうかを知りたいです。

variation.Style = "0,##%" 

variation.NumberFormat = "0,##%" 
+1

あなたは数の値とどのようにその数がフォーマットさに混乱しているように見えます細胞内で0と1の間の値を返すだけで、必要に応じてユーザーが%でフォーマットすることができます。型はlong型ではなくdouble型でなければなりません。数値を0〜100の範囲で指定する場合は、結果に100を掛けます。特定の形式で実際に返す場合は、戻り値の型は 'Long'または' Double'ではなく 'String'でなければなりません。しかし、文字列はそれ以上の計算のために数値よりも有用ではないので、私はそれが良い考えではないと思います。 –

+1

これがセル宛てのものであれば、セルをダブル&フォーマットして返します。 –

+0

[Googleはあなたの友人です](https://www.google.com.br/search?q=vba+format+value+as+percentage&oq=vba+format+value&aqs=chrome.3.69i57j0l5.51919j0j7&sourceid=chrome&ie=UTF -8) –

答えて

3

長いだけで、これまで全体の数値を格納することができます。リターンを二重にしてパーセンテージを格納します。

Function variation(fv As Long, pv As Long) As Double 
    variation = (fv/pv) - 1 
End Function 

これは、セルで使用するための正しい値を返します。

あなたは、ディスプレイとしての使用のためのパーセント記号と文字列の出力を作成したい場合は、単にそのようにそれを追加します。

Function variation(fv As Long, pv As Long) As String 
    variation = (fv/pv) - 1 & "%" 
End Function 
+0

お返事ありがとうございますが、最終的な結果は数値でなければなりません。 – Vinicius

+3

@Vinicius次にダブルオプションを指定してください。それはあなたのニーズを満たすでしょう。 – Zerk

関連する問題