我有一个文件,其中一列充满了数字,第二列包含每个数字各自的货币。我有美元、欧元、瑞士法郎和英镑
。
我想创建一个宏,将数字列的格式从数字转换为货币,然后应用第二列中的货币。
这样做的技巧是我希望数字列中仍然有数字,因为数字可以加或减。因此,我不希望对两列进行简单的连接,因为这会使字段成为文本,并且无法在数学方程中使用。
如果您知道怎么做,请帮忙。
谢谢!
最佳答案
我不确定我是否理解您的具体问题,但这将获取 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
如果您想更改货币类型,请录制一个宏,在其中将单元格设置为正确的货币,然后根据需要复制并粘贴该数字格式。
关于Excel 宏将单元格格式更改为货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382091/