Excel:VBA到TRIM初始string,长度不等

所有的好日子,

我有VBA脚本修剪特定的字符长度,然后复制和粘贴其他字符在其他表中,但我最近遇到了一个问题。 最初的长度现在已经增加了,剧本留下了不应该的字符。 这是脚本的原始部分。

If Left(Sheets("NAMES").Cells(a, 3), 6) = "Emplo:" Then ID = Right(Left(Trim(Sheets("NAMES").Cells(a, 3)), 11), 4) Employee_Name = Trim(Right(Trim(Sheets("NAMES").Cells(a, 3)), Len(Trim(Sheets("NAMES").Cells(a, 3))) - 11)) End If 

最初的string应该是这样读取的: Emplo:1234 Sample,Name但是现在初始string是变化的,“Emplo:”后面的数字是3,4或者8位数字,我不能让脚本修剪适量的初始字符以保持名称完整。

有没有可能解决这个问题?

先谢谢你。

我们可以使用空格字符将其分开:

 If Left(Sheets("NAMES").Cells(a, 3), 6) = "Emplo:" Then ary = Split(Sheets("NAMES").Cells(a, 3), " ") ID = ary(1) Employee_Name = ary(2) & " " & ary(3) End If 

根据你的问题,你需要有效地使用分割function来获得解决scheme

 Var = Split(Sheets("NAMES").Cells(a, 3),":")(1) ID = Split(LTrim(Var)," ")(0) Employee_Name = Right(Var,Len(Var) - Len(ID))