在单元格中查找8位数字

时间:2012-07-02 17:54:43

标签: excel excel-vba vba

我有一个用户输入名称,序列号和配置号的单元格。我想提取用于文件名的8位序列号 单元格看起来像这样:

  

运营商:Jon Doe日期:07/02/12 S / N:12345678 Cfg:1

我只知道如何解析固定长度(例如value(mid(A1,5,6))的文本,但由于用户名一直在变化,因此文本的长度会发生变化。
我可以用什么功能来保证我只能输出那个8位数的序列号?

1 个答案:

答案 0 :(得分:3)

试试这个Excel公式。

=MID(A1,SEARCH("S/N:",A1,1)+4,SEARCH("Cfg",A1,1)-(SEARCH("S/N:",A1,1)+4))

假设值Jon Doe Date: 07/02/12 S/N:12345678 Cfg:1在单元格A1中。将上述公式放在B1

如果你仍然需要VBA代码,那么你可以试试这个

Sub Sample()
    Debug.Print Application.Evaluate("=MID(A1,SEARCH(""S/N:"",A1,1)+4," & _
    "SEARCH(""Cfg"",A1,1)-(SEARCH(""S/N:"",A1,1)+4))")
End Sub