根据已知的美元汇总值更改两个字段的货币

时间:2014-09-11 00:01:04

标签: excel vba excel-vba currency

我有一个非常宏观的挑战,并且假设我的问题最好使用宏而不是公式来解决。

我在Excel工作表中设置了订单项记录。每条记录都包含以下字段:

  

订单号,产品编号,价格,数量,延长价格,订单总数。

每个订单号可以有一到十个记录(使这个问题更难)。此外,同一订单号的每条记录也将具有相同的order total。目前,priceextended price不是美元,而order total是。我的目标是使用price 以美元为单位)将extended priceorder total转换为美元。

对于每个订单号的每个集合或记录,我想要取order total(我可以从任何一个集合中获取),除以extended price的总和,以及然后将每个extended priceprice乘以该集合。将这些转换为美元。

2 个答案:

答案 0 :(得分:0)

可以使用公式。假设Order Number是ColumnA中的标签,其他数据来自那里,在H2中并向下复制以适应:

 =SUMIF(A:A,A2,E:E)  

应以非美国货币的订单号返回延长价格。

在I2中并向下复制以适应:

=F2/H2  

应该返回适​​当的转换因子。

由于这是计算的,因此使用Paste Special ...,Values将ColumnI复制到ColumnJ。

复制ColumnJ,选择C和E列(priceextended price)并使用“操作乘法”选择“粘贴特殊...”。

答案 1 :(得分:0)

可能这段代码会有所帮助: 如果要使用宏执行确切的货币转换操作, 试试这样的样本:

    Sub conversion()
Dim a, b As Long
b = 50.55
a = ThisWorkbook.Sheets("Sheet1").Range("D1").Value
b = a / 50.55
ThisWorkbook.Sheets("Sheet1").Range("F1").Value = "$" & b
End Sub

这里a是价格和延长价格的总和,b是转换后的美元价值。 否则,如果您想单独更改格式,可以使用excel中的格式单元格选项