我正在努力使用VBA代码。我正在研究ID代码生成器程序。其中一个过程涉及按字词拆分公司名称,并采用前两个字。事实证明,斯普利特在这项任务中很有用,但在处理短于2个字的公司名称时,我有一个#VALUE!错误。
我尝试修复它的一种方法是使用ISERROR函数,所以如果我收到任何错误,它会用一个字符替换它,比如“X”。
总之,我正在尝试的只是捕获名称的第二个单词,如果没有第二个单词,只显示“X”。
Public Function idcode_2(text As String) As String
Dim Arr_text As Variant
Dim rz_x, rz2, code As String
Dim i As Integer
Dim c
Arr_text = Split(text, " ", 3)
rz2 = Arr_text(1)
If IsError(rz2) = True Then
rz2 = "X"
Else
rz2 = rz2 & ""
End If
idcode_2 = rz2
End Function
我在Excel中使用VBA - Microsoft Office Professional Plus 2013。
答案 0 :(得分:2)
Arr_text将是一个从零开始的数组 - UBound(Arr_text)将为您提供该数组的上限(如果是一个项,则为零,如果有两个项,则为零)
Public Function idcode_2(text As String) As String
Dim Arr_text As Variant, rz2
Arr_text = Split(text, " ", 3)
If UBound(Arr_text ) > 0 Then
rz2 = Arr_text(1)
Else
rz2 = "x"
End If
idcode_2 = rz2
End Function
答案 1 :(得分:2)
Public Function idcode_2(text As String) As String
If Instr(text, " ") > 0 Then
idcode = Split(text)(1)
Else
idcode = "x"
End If
End Function