从单元格中提取自定义格式

时间:2019-07-18 00:07:59

标签: excel vba

我有一个自定义单元格格式,如下所示:

  

0.0%“(1L)” __ ;;(0.0%“(1L)”);-); @

我正在尝试将1L提取到细胞中。

还有另一个看起来像的例子

  

0.0%“(2L)” __ ;;(0.0%“(2L)”);-); @)

我需要确定是2L还是1L。

2 个答案:

答案 0 :(得分:1)

一个简单的UDF可能是:

Function WhichOne(ByVal rng As Range) As String
    Application.Volatile
    If InStr(rng.NumberFormat, "1L") > 0 Then
        WhichOne = "1L"
    ElseIf InStr(rng.NumberFormat, "2L") > 0 Then
        WhichOne = "2L"
    Else
        WhichOne = "neither"
    End If
End Function

enter image description here

答案 1 :(得分:0)

尝试这个简单的UDF

Function GetFormat(cell As Range) As String
Application.Volatile
If cell.NumberFormat = "General" Then GetFormat = "General": Exit Function
GetFormat = Split(Split(cell.NumberFormat, "%" & Chr(34) & "(")(1), ")")(0)
End Function