我的主键在列F-4长度字符中,实体名称在列X-1到40个长度字符之间
我需要连接这两列,并在CD列中产生结果。
但是CD列的长度应该少于20个字符。当字符总数超过20个时,我的下面的代码工作得很好,但当连接小于20个字符时,它会抛出错误。
有人能告诉我哪里出错了吗?
Range("CD1") = "Standard_Beneficiary"
For a = 2 To Cells(Rows.Count, "F").End(xlUp).Row
Cells(a, "CD").Value = Cells(a, "F").Value & "_" & Left(Cells(a, "X"), Len(Cells(a, "X").Value) - 10)
Next a发布于 2019-03-02 06:55:48
只有当Cells(a,"X").Value的长度大于10个字符时,Left(Cells(a, "X"),Len(Cells(a, "X").Value) - 10)才起作用,否则您想要的左侧字符数是负数,当然这是不可能的。
您可以使用if语句,也可以使用类似于
application.worksheetfunction.max(1,Len(Cells(a, "X").Value) - 10)
而不是Len(Cells(a, "X").Value) - 10,以确保它始终是正数。
https://stackoverflow.com/questions/54953400
复制相似问题