如何在 Excel 中获取货币符号

2019-08-13  本文已影响0人  lowmountain1

在 Excel 中,通过对单元格进行格式化,我们可以为单元格中存储的数字加上货币符号。但如何判断单元格中显示的哪种货币呢?由于单元格的内容是以数字形式存储的,我们无法通过直接截取单元格内容来判断。下面我们将通过示例来分享几种方法。

方法一:

这种方法通过 Excel 中的 cell 函数进行判断,适用于比较简单的情况。

cell 函数的 format 参数,对每种单元格货币格式返回一个特定值,通过返回值即可判断单元格中的货币格式。如图中所示,当单元格存储的是人民币格式时,cell 的返回值是 C2- 或 C2,而美元返回的则是 ,2. 如果格式较少时,使用此方法比较方便。

方法二:

此方法利用 VBA 中 Range 的 Text 属性将单元格的存储内容以文本形式返回,再通过字符串函数提取其中的货币符号。代码如下:

Public Function CurrSymbol(myCell As Range) As String
    Application.Volatile
    
    CurrSymbol = Left(Trim(myCell.Text), 1) ' Trim 函数用于去除 Text 属性中的多余空格,Left 函数截取字符串中左侧第一个字符
End Function

这里只是提供一种思路,如果单元格中存储的货币比较复杂(如欧元等),还需要进一步完善。

方法三:

此方法也是通过构造 UDF 函数来实现的,但调用了 VBscript 中的 RegExp 对象,故适用范围更广。代码如下:

Public Function CurrSymbol1(myCell As Range) As String
    Application.Volatile
    
    Static RE As Object
    
    If RE Is Nothing Then Set RE = CreateObject("VBScript.RegExp")
         
    With RE
        .Global = True
        .Pattern = "[0-9\-\.,\s]+"  ’ 替换包括数字、逗号、空格、下划线及小数点符号
        CurrSymbol1 = .Replace(myCell.Text, "")
    End With
    
End Function

关于正则表达式,可以在网上找一下入门教程,了解一下。

以上就是 Excel 中提取货币符号的三种方法,如果你认为有用的话,就请我喝杯咖啡吧!

上一篇下一篇

猜你喜欢

热点阅读