Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA货币错误显示_Vba_Excel - Fatal编程技术网

Excel VBA货币错误显示

Excel VBA货币错误显示,vba,excel,Vba,Excel,我用的是MAC,版本:10.11.16“el Capitan” 我希望这一切都有意义 我正在学习VBA,使用一本名为“快速学习VBA,第一卷,Excel函数设计课程”的书 代码中的消息框显示正确的值,但该值为 电子表格单元格是荒谬的(见下文) 为什么会这样 我已按如下方式设置了电子表格: 旧价格作为货币 作为货币的新价格 按百分比折扣 我也试过折扣手机 自定义:0.00 作为编号:-1234.00(小数点后2位) 货币:-$1234.00(小数点后2位) 结果总是相同的值——无论我将折扣单元

我用的是MAC,版本:10.11.16“el Capitan”

我希望这一切都有意义

我正在学习VBA,使用一本名为“快速学习VBA,第一卷,Excel函数设计课程”的书

代码中的消息框显示正确的值,但该值为 电子表格单元格是荒谬的(见下文)

为什么会这样

我已按如下方式设置了电子表格:

旧价格作为货币

作为货币的新价格

按百分比折扣

我也试过折扣手机

  • 自定义:
    0.00

  • 作为编号:
    -1234.00
    (小数点后2位)

  • 货币:
    -$1234.00
    (小数点后2位)

结果总是相同的值——无论我将折扣单元格设置为什么配置

电子表格是这样设置的

old Price  |            New Price        |       Discount
----------------------------------------------------------

$12.50     |     $18,483,160,287,229.10   |     10%

----------------------------------------------------------

$13.25     |      $18,483,160,287,229.10   |     10%

----------------------------------------------------------
“新价格”单元格中的函数调用如下所示:

=NewPrice(E43,G43)
=NewPrice(E44,G43)

功能代码如下:

Option Explicit

Function NewPrice(OldPrice As Currency, Discount As Currency) As Currency

        Discount = OldPrice * Discount

        NewPrice = OldPrice - Discount

        MsgBox "Old price = " & OldPrice & vbCrLf & _
 "Discount = " & Discount & vbCrLf & "New price = " & NewPrice     

End Function

问题:为什么显示值错误得如此厉害?

我无法获得该输出。我得到了正确的输出。问题一定是关于数据的一些方法。对我来说也很好(在Win7上)在Win7上也可以(旧价格为货币,小数点后两位,折扣为百分比,小数点后0位)我也不知道-您是否尝试过从空白工作簿开始,仅运行此示例?