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

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

例子位置名称:MRI-LENOX HILL放射学150/14101

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

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

任何在这方面的帮助将不胜感激。

谢谢,

贾斯汀·哈姆斯

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

 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