VBA返回精确的11个字母的字符串值

时间:2016-06-20 13:35:27

标签: excel vba excel-vba macros

我正在尝试创建宏,它将返回我在字符串中的事务ID的值。字符串包含事务名称,类型,ID和基金名称。还有很多空间和" - "。到目前为止,我已尝试使用Split(),但字符串总是不同的,它会误导宏。有一个值总是陈旧的,它的事务ID,字符串长度总是11.所以我希望宏找到长度为11的值并返回给我。任何想法怎么做?

由于

2 个答案:

答案 0 :(得分:0)

这是我目前的Split()

代码
columnLambda.Type.Name == "Guid" || Nullable.GetUnderlyingType(columnLambda.Type) != null && Nullable.GetUnderlyingType(columnLambda.Type).Name == "Guid"

答案 1 :(得分:0)

这适用于您提供的输入。

Option Explicit

Public Function return_me11(str) As String

    Dim my_str      As String
    Dim my_arr      As Variant
    Dim my_val      As Variant

    my_str = Replace(str, " ", "-")

    my_arr = Split(my_str, "-")

    For Each my_val In my_arr
        If Len(my_val) = 11 Then
            return_me11 = my_val
            Exit Function
        End If
    Next my_val

    return_me11 = "No good input"

End Function