Excel:VBA到TRIM的长度不同的初始字符串

时间:2014-08-02 18:23:41

标签: excel excel-vba vba

大家好日子,

我有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

最初,初始字符串的内容如下: Emplo:1234 Sample,Name 但是现在最初的字符串会变化,并且" Emplo之后的数字:"长度为3,4或8位,我无法通过脚本修剪适当数量的初始字符以保持名称不变。

有可能解决这个问题吗?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

根据您的问题,您需要有效地使用拆分功能来获得解决方案

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