我有一个单元格,用户在其中输入他们的姓名、序列号和配置号。我想提取该 8 位序列号以在文件名中使用。
单元格看起来像这样:
操作员:Jon Doe 日期:07/02/12 S/N:12345678 Cfg:1
我只知道如何解析固定长度(例如value(mid(A1,5,6)
)的文本,但由于用户名总是在变化,所以文本的长度会发生变化。
我可以使用什么功能来始终保证我只会得到那个 8 位数的序列号?
试试这个 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