0

我有一个单元格,用户在其中输入他们的姓名、序列号和配置号。我想提取该 8 位序列号以在文件名中使用。
单元格看起来像这样:

操作员:Jon Doe 日期:07/02/12 S/N:12345678 Cfg:1

我只知道如何解析固定长度(例如value(mid(A1,5,6))的文本,但由于用户名总是在变化,所以文本的长度会发生变化。
我可以使用什么功能来始终保证我只会得到那个 8 位数的序列号?

4

1 回答 1

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
于 2012-07-02T17:59:36.957 回答