显示的格式与值不同

时间:2013-03-28 19:41:47

标签: excel function custom-formatting

使用Excel宏:

我正在尝试创建一个函数,它接受一个名为Feet的double和另一个名为Inches的函数,并让它返回总英寸数。这是容易的部分。我希望它然后在单元格中显示信息,如下所示:

5英尺8英寸

以下是我提出的代码:

Function FTIN(Feet As Double, Inches As Double) As Double
    'This part works fine.
    Dim total As Double

    total = (Feet * 12) + Inches

    FTIN = total

    'this part does not seem to work.
    Dim foot As Double
    Dim inch As Double

    foot = WorksheetFunction.RoundDown(total / 12, 0)
    inch = total - (foot * 12)

    result = foot & "ft " & inch & "in"
End Function

虽然它确实返回了总英寸数,但却没有以我需要的方式显示它。

我基本上希望它与值为41361的日期做同样的事情,但显示的是“3/28/2013”​​。

我也知道我可以将值设为508,我可以将自定义格式设为0“ft”00“in”,但这不会给我一个我可以使用的值。

请帮助我。

2 个答案:

答案 0 :(得分:0)

我认为您不能以您想要的方式自定义格式化。我建议制作一个返回字符串的第二个函数。将脚和英寸插入此新功能,为“ft”和“in”添加文本,并将它们连接在一起(使用&运算符)。

答案 1 :(得分:0)

您可以使用工作表公式执行此操作,请尝试以下操作:

=INT(a1/12)&"ft  "&TRIM(TEXT(a1-INT(a1/12)*12,"# ???/???"))&"in"

其中A1是包含UDF的单元格。