从位置名称(VBA)中提取站点代码

时间:2015-08-07 17:49:26

标签: excel vba excel-vba

所以我的客户需要从每个位置的名称中隔离特定代码。我有以下公式,我手动编辑,但想知道是否有办法让它可能计算单元格中的字符并将代码拉到新的单元格。

示例位置名称:MRI-LENOX HILL RADIOLOGY 150/14101

=RIGHT(A1,FIND("/",A1)-19)

代码格式为0123/01234(斜线前面3到4个字符,后面5个字符)

非常感谢这方面的任何帮助。

谢谢,

Justin Hames

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式从单元格值中查找和提取代码。例如:

With CreateObject("VBScript.RegExp")
    .Pattern = "\d{3,4}/\d{5}"
    If .Test(Range("A1")) Then
        Range("B1") = .Execute(Range("A1"))(0)
    End If
End With

这将从A1中提取代码并将其放入B1

修改,关于评论:

要在一系列单元格上运行:

Dim re
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "\d{3,4}/\d{5}"

Dim r As Range
For Each r In Range("A1:A100")
    If re.Test(r) Then r.Offset(0, 1) = re.Execute(r)(0)
Next