2

我有一个文件,其中一列充满了数字,第二列有每个数字各自的货币。我有USD, EUR, CHF, and GBP

我想创建一个宏,将数字列从数字格式化为货币,然后应用第二列中的货币。

诀窍是我希望数字列中仍然有数字,因为可以添加或减去数字。因此,我不想要两列的简单连接,因为这会使字段变为文本,并且无法在数学方程式中使用。

如果你知道怎么做,请帮忙。

谢谢!

4

1 回答 1

5

我不确定我是否理解您的确切问题,但这将采用 A 列中的所有值,并根据 B 列中的货币值将它们格式化为 C 列中的货币:

Sub Macro1()

Dim cl As Range

For Each cl In Intersect(ActiveSheet.Range("A:A"), ActiveSheet.UsedRange)
   cl.Offset(0, 2).Value = cl.Value
   Select Case cl.Offset(0, 1).Value
      Case "USD"
         cl.Offset(0, 2).NumberFormat = "$#,##0.00"
      Case "EUR"
         cl.Offset(0, 2).NumberFormat = "[$€-2] #,##0.00"
      Case "GBP"
         cl.Offset(0, 2).NumberFormat = "[$£-809]#,##0.00"
      Case "CHF"
         cl.Offset(0, 2).NumberFormat = "[$CHF] #,##0.00"
   End Select

Next cl

End Sub

如果要更改货币类型,请录制一个宏,在其中将单元格设置为正确的货币,然后根据需要复制并粘贴该数字格式。

于 2012-11-14T16:12:08.970 回答