如何以百分比返回函数?

问题描述:

我想创建一个返回百分比形式的数字的函数。如何以百分比返回函数?

例子:

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

我想知道如果我能以百分比(0,00%),我已经尝试在这两个方面,但没有sucess返回值。

variation.Style = "0,##%" 

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

你似乎混淆了一些值,这个数字是如何格式化在一个小区里。只需返回0到1之间的值,并让用户将其格式化为%即可。类型应该是双倍而不是长。如果你想要一个0-100范围内的数字,把结果乘以100.如果你真的想要以某种格式返回,返回类型应该是'String'而不是'Long'或'Double'。但是 - 字符串没有用于进一步计算的数字有用,所以我认为这不是一个好主意。 –

+1

或者如果这是发往一个单元格返回一个双&格式的单元格。 –

+0

[Google是你的朋友](https://www.google.com.br/search?q=vba+format+value+as+percentage&oq=vba+format+value&aqs=chrome.3.69i57j0l5.5719j0j7&sourceid=chrome&ie=UTF -8) –

长永远只能存储整数。将返回值设置为双精度来存储百分比。

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