将int拉出字符串进行连接

时间:2017-07-20 20:53:26

标签: excel-vba concatenation excel-2013 vba excel

我正在使用excel 2013,我正在尝试将包含字符串的变量组合到包含字符串的另一个变量的一部分。然而,我需要的部分将是一个整数,我希望删除前导零。

所以例如我有

LName = Application.WorksheetFunction.VLookup(OCR, Sheets("Whitelist").Range("Whitelist"), 3, False)

这个变量将是某人的姓氏。 我也有

OCR = Right(Left(UserIn, 3), 2) & Left(Right(UserIn, 11), 9)

这将是人员ID,它看起来像这样DC000123456。 OCR总是11个字符长,前两个字母总是字母,后九个字母始终是以未知数字0开头的数字。

我想创建一个名为concat的变量,它将是姓氏,然后是空格,以及他们的id中带有前导0的数字。

我试过了

Concat = Lname &" "&Right(OCR, 9)
Concat = Lname &" "&Cint(Right(OCR, 9))
Concat = Lname &" "&Cstr(Cint(Right(OCR, 9)))

所有这些都会给出错误。

我想删除前导零。对不起忘了包含最终结果的例子。

1 个答案:

答案 0 :(得分:2)

如果你想保留或删除ID前面的零,我没有得到。

鉴于此:

LName = "Matteo"
OCR = "DC000123456"

如果你想保留它们:

Concat = LName & " " & Right(OCR, 9)
Debug.Print Concat
>>> Matteo 000123456

如果你想删除它们:

Concat = LName & " " & CDbl(Right(OCR, 9))
Debug.Print Concat
>>> Matteo 123456

*注意:需要使用CDbl函数,您的CInt会给出溢出,因为ID号大于允许的Integer

大小